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

Delete/update conflict handling

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • Major
    • Morpheus
    • CheshireCat.Next
    • XDCR
    • None

    Description

      Considering a doc that has a lot history in its CCR metadata already replicated to all clusters.
      1. Cluster A deletes it. Delete keeps the metadata
      2. Cluster A recreates it. The metadata is lost.
      3. delete is de-dupped, leaving new doc to replicate to other cluster. It will find conflict because the new doc has no history and doesn't know it dominates other older version.

      At step 3, document will be merged with its older version, which is wrong.

      We need to handle delete to reduce/eliminate this problem. Currently the code use Cas to decide a winner for delete/update conflict. If cas is the same, update wins.

      If customers can accept not re-use the same doc key after delete, we can always let delete win, so that delete is considered terminal in a document's lifecycle.

      Also customers may want to have control over whether delete or update wins. In this case we send to pass delete/update conflict to merge function, which will decide the winner.

      Attachments

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

        Activity

          People

            lilei.chen Lilei Chen (Inactive)
            lilei.chen Lilei Chen (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty