Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-59862 Transaction safety
  3. MB-59864

Combine failover transaction read/writes

    XMLWordPrintable

Details

    • Technical task
    • Resolution: Unresolved
    • Major
    • 7.6.0
    • None
    • ns_server
    • None
    • 0

    Description

      Currently the way we do failover, we grab the config multiple times at different points in time, and we also grab different type of config separately(cluster config vs bucket config):

       

      Specifically:

      1) In failover:failover() we failover the collections for unsafe failover, and we grab the bucket config directly for this function.

      2) We prepare the failover parameters in failover_buckets_prep(), we grab the bucket config separately for this function.

      3)We do validate_services_safety() in which we grab the cluster membership config separately for this function.

      4) In failover_service_nodes() we grab the cluster membership config again for reading, and then write the service_map related config.

      5) We then failover the buckets in which we write the bucket config.

       

      We should consider combining these into a single transaction. All the stateless checks can just happen as part of the transaction from the Snapshot of the transaction, and the service failover and bucket failover writes would happen as part of the transaction as well. Need to explore that path further to see how feasible it is, so creating this ticket for that. 

      Attachments

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

        Activity

          People

            navdeep.boparai Navdeep Boparai
            navdeep.boparai Navdeep Boparai
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              PagerDuty