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

[5.5.4] - Memcached returns NOT_STORED to client after trying to perform arithmetic operation

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • master, 6.5.0, 5.5.0, 5.5.3
    • 5.5.4
    • memcached
    • Untriaged
    • Yes

    Description

      [Cloned this from MB-33813 to track merging a fix for this issue to 5.5.4.]

      There is a race condition in ArithmeticCommandContext where a SET operation is performed between the ArithmeticCommandContext::getItem() and ArithmeticCommandContext::storeNewItem(), causing the call to bucket_store() to return ENGINE_NOT_STORED. Currently we just return this error to the memcached client however, this brakes the behaviour of this interface that existed before the refactoring of our arithmetic operations (see v4.5.0). Thus, we should resolve this race condition by trying to re-perform the arithmetic operation by resetting the ArithmeticCommandContext state machine.

      Attachments

        Issue Links

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

          Activity

            There are no commits yet on this issue.

            People

              richard.demellow Richard deMellow
              richard.demellow Richard deMellow
              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