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

Replica should handle aborts for non-pending stored values during disk backfill [ETA 2019/7/12]

    XMLWordPrintable

Details

    • Triaged
    • No
    • KV-Engine Mad-Hatter Beta

    Description

      Deduplication in a disk snapshot can lead to replicas receiving an abort, but finds the item in the hashtable is not pending.

      Consider the active receives the following ops for a given key

      PRE1 CMT1 PRE2 ABRT2

      The replica connects, backfills from disk, and will see

      SET ABRT2

      When processing the abort in VBucket::abort, ht.findForWrite(key) will find the stored value, but it will not be pending - it will be the value stored by the SET.

      The exception will be thrown from around kv_engine/engines/ep/src/vbucket.cc:912

       

      This should only be possible when receiving a disk snapshot, so it could be special cased.

       

       

      Attachments

        Issue Links

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

          Activity

            People

              james.harrison James Harrison (Inactive)
              james.harrison James Harrison (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty