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

del_with_meta fails when maxttl is set and bucket DGM

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Critical
    • 7.1.0
    • 7.1.0
    • test-execution
    • None
    • Untriaged
    • 1
    • Yes
    • KV March-22

    Description

      Test case:

      python3 testrunner.py -i b/try.ini -p max-dupe-result-count=10,num-tries=60,attempt-num=60,dgm_run=true,eviction_policy=fullEviction,skip_log_scan=False,bucket_storage=couchstore -t epengine.basic_ops.basic_ops.test_MB_32114,nodes_init=3,replicas=2,skip_cleanup=False,bucket_size=100,items=100000,active_resident_threshold=10,maxttl=300,max-dupe-result-count=10,num-tries=60,attempt-num=60,dgm_run=true,eviction_policy=fullEviction,skip_log_scan=False,bucket_storage=couchstore
      

      Scenario:
      1. Setting flush param on server

      {'ip': '10.112.211.101', 'port': '8091', 'username': 'Administrator', 'password': 'password'}

      , exp_pager_stime to 10 on default
      2. create 1000 docs, perform subdoc operation and wait for the data to get persisted

      rc = mcd.set(KEY_NAME + str(i), 0, 0, json.dumps({'value': 'value2'}))
      #performing mutate_in using sdkclient
      cb_coll_default.mutate_in(KEY_NAME + str(i), [SD.upsert("subdoc_key", "subdoc_val",
                                                                    xattr=True,
                                                                    create_parents=True)])
      

      3. load doc till the bucket goes to dgm with active_resident_threshold=20 (tried with 10 and 5)
      4. run compaction (with or without compaction)
      5. perform del_with_meta on persisted doc(step 2) and del_with_meta fails with Exists error

      Traceback (most recent call last):
        File "pytests/epengine/basic_ops.py", line 134, in test_MB_32114
          rc = mcd.del_with_meta(KEY_NAME + str(i), 0, 0, 2, cas + 1)
        File "lib/mc_bin_client.py", line 448, in del_with_meta
          exp, seqno, cas, options, 0), scope=scope, collection=collection)
        File "lib/mc_bin_client.py", line 229, in _doCmd
          return self._handleSingleResponse(opaque)
        File "lib/mc_bin_client.py", line 220, in _handleSingleResponse
          cmd, opaque, cas, keylen, extralen, data = self._handleKeyedResponse(myopaque)
        File "lib/mc_bin_client.py", line 216, in _handleKeyedResponse
          raise MemcachedError(errcode, msg)
      mc_bin_client.MemcachedError: Memcached error #2 'Exists':  b''
      

      The same test passes when maxttl is not set on the docs. Also this test case works fine in cheshire-cat.

      Attachments

        1. basic_ops.py
          17 kB
        2. node1.zip
          31.18 MB
        3. node2.zip
          27.82 MB
        4. node3.zip
          23.34 MB

        Issue Links

          Activity

            People

              anitha.kuberan Anitha Kuberan
              anitha.kuberan Anitha Kuberan
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                PagerDuty