Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-44289

MagmaGetExpiryTimeAlive failures on windows

    XMLWordPrintable

Details

    • Triaged
    • 1
    • Unknown
    • KV-Engine 2021-Feb

    Description

      http://cv.jenkins.couchbase.com/job/kv_engine-windows-master/33561/consoleFull#4638993151e58f853-9c7c-40c2-82f1-7d409ae83ac2

      [ RUN      ] MagmaKVStoreTest.MagmaGetExpiryTimeAlive
      18:51:21 ..\kv_engine\engines\ep\tests\module_tests\magma-kvstore_test.cc(467): error: Expected equality of these values:
      18:51:21   10
      18:51:21   kvstore->getExpiryOrPurgeTime(expiredItemSlice)
      18:51:21     Which is: 259210
      

       

      Issue is probably that MetaData::deleted may be uninitialized at the time of magmakv::isDeleted(slice).

              "persistent_metadata_purge_age": {
                  "default": "259200",
      

      TEST_F(MagmaKVStoreTest, MagmaGetExpiryTimeAlive) {
          magmakv::MetaData expiredItem;
          expiredItem.exptime = 10;
          magma::Slice expiredItemSlice = {reinterpret_cast<char*>(&expiredItem),
                                           sizeof(magmakv::MetaData)};
       
          EXPECT_EQ(10, kvstore->getExpiryOrPurgeTime(expiredItemSlice));
      }
      

      uint32_t MagmaKVStore::getExpiryOrPurgeTime(const magma::Slice& slice) {
          auto exptime = magmakv::getExpiryTime(slice);
       
          if (magmakv::isDeleted(slice)) {
              exptime += configuration.getMetadataPurgeAge();
          }
       
          return exptime;
      }
      

      class MetaData {
      ..
          uint8_t metaDataVersion;
          int64_t bySeqno;
          uint64_t cas;
          cb::uint48_t revSeqno;
          uint32_t exptime;
          uint32_t flags;
          uint32_t valueSize;
          uint16_t vbid;
          uint8_t datatype;
          uint8_t deleted : 1;
          uint8_t deleteSource : 1;
          uint8_t operation : 2;
          uint8_t durabilityLevel : 2;
          cb::uint48_t prepareSeqno;
      

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              paolo.cocchi Paolo Cocchi
              paolo.cocchi Paolo Cocchi
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty