Uploaded image for project: 'Couchbase Go SDK'
  1. Couchbase Go SDK
  2. GOCBC-998

Add the ability to fetch the collection manifest from all nodes in the cluster

    XMLWordPrintable

Details

    • Task
    • Status: Closed
    • Critical
    • Resolution: Fixed
    • 2.1.6
    • 2.1.7
    • library
    • None
    • 1

    Description

      What's the issue?
      Before performing a restore, 'cbbackupmgr' will bulk update the scopes/collections on the target cluster, we will then wait for the changes to propagate throughout the cluster i.e. have all the scopes/collection be ready to take traffic.

      When getting the collection manifest using 'gocbcore' the request is dispatched to the node which contains vBucket 0/replica 0. This is an issue for 'cbbackupmgr' because manifest updates are not cluster wide i.e. just because one node is ready to take traffic for a new scope/collection doesn't mean any of there others are ready.

      What's the fix?
      'cbbackupmgr' should perform its checks against the oldest manifest in the cluster (the one with the lowest uid). This is not possible at the moment because we don't have the ability to fetch the manifest from a specific node/number of nodes.

      We should add a function the 'gocbcore' which will allows us to fetch the collection manifest from all the nodes in the cluster at once (in a similar fashion to how stats calls are dispatched to all the nodes in the cluster).

      Attachments

        Issue Links

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

          Activity

            Build couchbase-server-7.0.0-3548 contains gocbcore commit 29c01e1 with commit message:
            GOCBC-998: Add a 'GetAllCollectionManifests' function

            build-team Couchbase Build Team added a comment - Build couchbase-server-7.0.0-3548 contains gocbcore commit 29c01e1 with commit message: GOCBC-998 : Add a 'GetAllCollectionManifests' function

            Build couchbase-server-6.6.1-9153 contains gocbcore commit 29c01e1 with commit message:
            GOCBC-998: Add a 'GetAllCollectionManifests' function

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.6.1-9153 contains gocbcore commit 29c01e1 with commit message: GOCBC-998 : Add a 'GetAllCollectionManifests' function

            Build sync_gateway-3.0.0-52 contains gocbcore commit 29c01e1 with commit message:
            GOCBC-998: Add a 'GetAllCollectionManifests' function

            build-team Couchbase Build Team added a comment - Build sync_gateway-3.0.0-52 contains gocbcore commit 29c01e1 with commit message: GOCBC-998 : Add a 'GetAllCollectionManifests' function

            Build couchbase-server-7.1.0-1767 contains gocbcore commit 29c01e1 with commit message:
            GOCBC-998: Add a 'GetAllCollectionManifests' function

            build-team Couchbase Build Team added a comment - Build couchbase-server-7.1.0-1767 contains gocbcore commit 29c01e1 with commit message: GOCBC-998 : Add a 'GetAllCollectionManifests' function

            People

              james.lee James Lee
              james.lee James Lee
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty