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

Memcached Ascii client doesn't receive TMPFAIL error when deleting data while bucket flush is in progress

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.0.1
    • Fix Version/s: 3.0
    • Component/s: moxi
    • Security Level: Public
    • Labels:
      None
    • Environment:
    • Triage:
      Untriaged
    • Sprint:
      PCI Team - Sprint 2, PCI Team - Sprint 3, PCI Team - Sprint 4

      Description

      Similar to MB-6865 but with ascii client.

      Reproducer is here http://review.couchbase.org/#/c/23976/2. Please run the test:
      bucketflush_with_data_ops_mc_ascii,items=100000,data_op=delete

      Below exception is returned:
      File "pytests/flush/bucketflush.py", line 150, in data_ops_with_mc_ascii
      client.delete(key)
      File "lib/mc_ascii_client.py", line 236, in delete
      raise MemcachedError(-1, response)
      MemcachedError: Memcached error #-1: NOT_FOUND

      Also for Insert/Update temporary failure exception is a little different than returned for moxi/bin client

      Insert
      File "pytests/flush/bucketflush.py", line 148, in data_ops_with_mc_ascii
      client.set(key, 0, 0, value)
      File "lib/mc_ascii_client.py", line 156, in set
      raise MemcachedError(-1, response)
      MemcachedError: Memcached error #-1: SERVER_ERROR temporary failure

      The exception code is different from the usual 134

      Memcached error #134 'Temporary failure': Temporary failure for vbucket :63 to mc 127.0.0.1:12001

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

        Activity

        Hide
        farshid Farshid Ghods (Inactive) added a comment -

        per bug scrub - moving this to 2.0.2 since this only occurs when command is run against moxi

        Show
        farshid Farshid Ghods (Inactive) added a comment - per bug scrub - moving this to 2.0.2 since this only occurs when command is run against moxi
        Hide
        maria Maria McDuff (Inactive) added a comment -

        per bug scrub: anil to work with ronnie to prioritize.

        Show
        maria Maria McDuff (Inactive) added a comment - per bug scrub: anil to work with ronnie to prioritize.
        Hide
        maria Maria McDuff (Inactive) added a comment -

        Ronnie will be able to fix before he goes on vacation this friday, 4/5.

        Show
        maria Maria McDuff (Inactive) added a comment - Ronnie will be able to fix before he goes on vacation this friday, 4/5.
        Hide
        anil Anil Kumar added a comment -

        Moving this to 2.1.

        Show
        anil Anil Kumar added a comment - Moving this to 2.1.
        Hide
        maria Maria McDuff (Inactive) added a comment -

        shashank,

        is this still happening in 2.2.0 build 821?
        if not, pls close this bug.
        thanks.

        Show
        maria Maria McDuff (Inactive) added a comment - shashank, is this still happening in 2.2.0 build 821? if not, pls close this bug. thanks.
        Hide
        shashank Shashank Gupta added a comment - - edited

        Same error is encountered when tests for delete and create are run using 'use_ascii=True' parameter. See below:

        test delete:
        -t flush.bucketflush.BucketFlushTests.bucketflush_with_data_ops_moxi,items=100000,data_op=delete,use_ascii=True

        O/P:
        Exception in thread Thread-5:
        Traceback (most recent call last):
        File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
        self.run()
        File "/usr/lib/python2.7/threading.py", line 505, in run
        self._target(*self.args, **self._kwargs)
        File "pytests/flush/bucketflush.py", line 108, in data_ops_with_moxi
        client.delete(key)
        File "lib/mc_ascii_client.py", line 236, in delete
        raise MemcachedError(-1, response)
        MemcachedError: Memcached error #-1: NOT_FOUND

        test create:
        -t flush.bucketflush.BucketFlushTests.bucketflush_with_data_ops_moxi,items=100000,data_op=create,use_ascii=True

        O/P:
        Exception in thread Thread-5:
        Traceback (most recent call last):
        File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner
        self.run()
        File "/usr/lib/python2.7/threading.py", line 505, in run
        self._target(*self.args, **self._kwargs)
        File "pytests/flush/bucketflush.py", line 106, in data_ops_with_moxi
        client.set(key, 0, 0, value)
        File "lib/mc_ascii_client.py", line 156, in set
        raise MemcachedError(-1, response)
        MemcachedError: Memcached error #-1: SERVER_ERROR temporary failure

        Build used : 2.2.0-821

        Show
        shashank Shashank Gupta added a comment - - edited Same error is encountered when tests for delete and create are run using 'use_ascii=True' parameter. See below: test delete: -t flush.bucketflush.BucketFlushTests.bucketflush_with_data_ops_moxi,items=100000,data_op=delete,use_ascii=True O/P: Exception in thread Thread-5: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self._ target(*self. args, **self. _kwargs) File "pytests/flush/bucketflush.py", line 108, in data_ops_with_moxi client.delete(key) File "lib/mc_ascii_client.py", line 236, in delete raise MemcachedError(-1, response) MemcachedError: Memcached error #-1: NOT_FOUND test create: -t flush.bucketflush.BucketFlushTests.bucketflush_with_data_ops_moxi,items=100000,data_op=create,use_ascii=True O/P: Exception in thread Thread-5: Traceback (most recent call last): File "/usr/lib/python2.7/threading.py", line 552, in __bootstrap_inner self.run() File "/usr/lib/python2.7/threading.py", line 505, in run self._ target(*self. args, **self. _kwargs) File "pytests/flush/bucketflush.py", line 106, in data_ops_with_moxi client.set(key, 0, 0, value) File "lib/mc_ascii_client.py", line 156, in set raise MemcachedError(-1, response) MemcachedError: Memcached error #-1: SERVER_ERROR temporary failure Build used : 2.2.0-821
        Hide
        maria Maria McDuff (Inactive) added a comment - - edited

        Iryna,

        is this still happening in 3.0? pls re-assign to Steve Y if that is still the case.

        Show
        maria Maria McDuff (Inactive) added a comment - - edited Iryna, is this still happening in 3.0? pls re-assign to Steve Y if that is still the case.
        Hide
        steve Steve Yen added a comment -

        It's probably not surprising that concurrent operations in the midst of a bucket flush might have race-y results.

        And, memcached ascii protocol doesn't really have a TMPFAIL error response code, so receiving a NOT_FOUND during the midst of a bucket flush seems defensible.

        For those reasons, marking this as won't fix.

        Show
        steve Steve Yen added a comment - It's probably not surprising that concurrent operations in the midst of a bucket flush might have race-y results. And, memcached ascii protocol doesn't really have a TMPFAIL error response code, so receiving a NOT_FOUND during the midst of a bucket flush seems defensible. For those reasons, marking this as won't fix.
        Hide
        iryna iryna added a comment -

        closing per previous comment

        Show
        iryna iryna added a comment - closing per previous comment

          People

          • Assignee:
            iryna iryna
            Reporter:
            deepkaran.salooja Deepkaran Salooja
          • Votes:
            0 Vote for this issue
            Watchers:
            6 Start watching this issue

            Dates

            • Due:
              Created:
              Updated:
              Resolved:

              Agile

                Gerrit Reviews

                There are no open Gerrit changes