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

Prevent enableCrossClusterVersioning from being disabled once enabled

    XMLWordPrintable

Details

    Description

      According to PRD: https://docs.google.com/document/d/1NjDbSXxi85qDwH5LUUOXTrV0nqZNUkeVOqDXQdtVSYM/edit#heading=h.xzzpwkvs4913

      Decided that the prerequisite for the feature is that after upgrading to a Server version that has true conflict logging feature, the user needs to set bucket property enableCrossClusterVersioning on all the buckets in the clusters in the XDCR topology. (This setting creates the HLV.) Once enableCrossClusterVersioning is enabled, it cannot be disabled.

      The rationale from PM being:

      Why can’t it be disabled? 1. You will not be able to disable enableCrossClusterVersioning as long as a feature that is dependent on CrossClusterVersioning is using it (regardless of whether we allow disabling/suspending). 2. Since we expect that going forward, many features to take advantage of CrossClusterVersioning (mobile/XDCR interoperability, true conflict logging, etc), allowing disabling becomes complex/problematic. Since multiple clusters have to have this setting set for the features to work properly, toggling of this setting could introduce lots of edge cases that may generate bugs. If [customer] insists being able to disable this bucket setting after enabling, it’s likely to increase the time for design/development/QE quite a bit.

      Attachments

        Issue Links

          For Gerrit Dashboard: MB-61015
          # Subject Branch Project Status CR V

          Activity

            People

              vibhav.sp Vibhav S P
              neil.huang Neil Huang
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty