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

Replication or rebalance fails if an item on a replica vbucket is still locked

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.0
    • 2.5.0
    • couchbase-bucket
    • Security Level: Public
    • Untriaged
    • 1
    • Unknown
    • June 30 - July 18

    Description

      This GetAndLock causes the replication or rebalance operation to fail in the following scenario:

      1) Rebalance starts and is in progress
      2) Active vbucket 0 is moving from Node 1 to Node 2
      3) Item A on active vbucket 0 on Node 1 is locked through getLocked() API while vbucket 0 is still being transferring.
      4) Active vbucket 0 is transferred to Node 2. Node 1 changes vbucket 0 state to replica.
      5) Item A on active vbucket 0 on Node 2 is updated through Set() API
      6) Node 2 tries to replicate the updated Item A to the node 1, but receives an error code (ENGINE_KEY_EEXISTS) from Node 1 because Item A is still locked due to the step 3)
      7) Node 2 closes the TAP connection to Node 1 because of the above error code, which is a bug in the engine side.

      To resolve this issue, we should allow an locked item on a replica vbucket to be updated.

      Attachments

        Issue Links

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

          Activity

            People

              parag Parag Agarwal (Inactive)
              chiyoung Chiyoung Seo (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty