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

Add support for specifying TTL DeleteSource via DELETE_WTH_META

    XMLWordPrintable

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 6.5.0
    • None
    • DCP, XDCR
    • None

    Description

      Once document expirations in DCP are utilising the specific DCP Expire (0x59) opcode rather than the DCP Delete (0x58) opcode, as per MB-26907, Couchbase Server should replicate these expirations natively via XDCR to remote clusters.

      That is to say the remote end of an XDCR relationship should receive a delete message which specifies the source of the delete was TTL. rather than the current Delete_with_Meta which has an implicit DeleteSource of "Expliticty deleted". If XDCR sends a Delete_with_Meta in response to receiving a DCP Expire, there is no way for the remote cluster to be able to replicate this its own DCP consumers as a document expiry, such as intra-cluster replication, Eventing, and onward XDCR.

      To solve this issue, as now detailed in the docs for Delete_With_Meta, there now exists a new options flag named IS_EXPIRATION which can be used with a delete_with_meta op to denote that it instead refers to an expiration. This correctly sets the DeleteSource inside KV to be TTL instead of the default explicit. The optionality of this flag allows for users of delete_with_meta that haven't updated to support this to continue processing expirations as deletions. However, this does also mean utilising their feature breaks the expiry opcode output feature until they do support it.

      Attachments

        Issue Links

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

          Activity

            Build couchbase-server-6.5.0-2076 contains kv_engine commit 686826b with commit message:
            MB-32443: Fix options and formatting in set/del_with_meta docs

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.0-2076 contains kv_engine commit 686826b with commit message: MB-32443 : Fix options and formatting in set/del_with_meta docs

            Build couchbase-server-6.5.0-2107 contains kv_engine commit 78da97c with commit message:
            MB-32443: Introduce IS_EXPIRATION flag in DelWithMeta options

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.0-2107 contains kv_engine commit 78da97c with commit message: MB-32443 : Introduce IS_EXPIRATION flag in DelWithMeta options

            Patch now merged. Will create separate MB's asking other teams that utilise this op to implement this change.

            christopher.farman christopher farman (Inactive) added a comment - Patch now merged. Will create separate MB's asking other teams that utilise this op to implement this change.

            People

              christopher.farman christopher farman (Inactive)
              phil.stott Phil Stott (Inactive)
              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