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

Recover Index from in-memory snapshot

    XMLWordPrintable

Details

    Description

      This is to limit the amount of data that needs to catch up upon KV data loss.

      Indexer currently keeps only the latest vbuuid in the timestamp. Indexer could store 2-3 vbuuids in-memory if the seqno has not changed between those(and possibly persist in disk snapshot as well). If DCP asks to rollback to 0, indexer can first retry with stream request with the stored vbuuids before going to disk snapshots.

      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-2357 contains indexing commit 190f6f6 with commit message:
            MB-32102 store last vbuuid for retry during rollback

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.0-2357 contains indexing commit 190f6f6 with commit message: MB-32102 store last vbuuid for retry during rollback

            Deepkaran Salooja Is QE Verification needed on this bug? If yes, pls provide more details for verification of the issue, and remove the request-dev-verify label on this issue.

            mihir.kamdar Mihir Kamdar (Inactive) added a comment - Deepkaran Salooja Is QE Verification needed on this bug? If yes, pls provide more details for verification of the issue, and remove the request-dev-verify label on this issue.
            deepkaran.salooja Deepkaran Salooja added a comment - - edited

            1. Setup
            Create a 2 node cluster
            ./cluster_connect -n2 -T n0:kv+n1ql+index,n1:kv

            2. Load 10k documents in bucket default

            3. Create index idx2

            4. Block KV replica from master using firewall.

            5. Kill -9 memcached on nodeA to generate new vbuuids.

            6. Failover nodeA so that replica takes over on nodeB.

            7. Before the fix, indexer would rollback to 0 due to vbuuid unknown from replica. Verify by checking items_count for the index.

            deepkaran.salooja Deepkaran Salooja added a comment - - edited 1. Setup Create a 2 node cluster ./cluster_connect -n2 -T n0:kv+n1ql+index,n1:kv 2. Load 10k documents in bucket default 3. Create index idx2 4. Block KV replica from master using firewall. 5. Kill -9 memcached on nodeA to generate new vbuuids. 6. Failover nodeA so that replica takes over on nodeB. 7. Before the fix, indexer would rollback to 0 due to vbuuid unknown from replica. Verify by checking items_count for the index.

            Steps Verified :

            1. Setup
            Create a 2 node cluster
            ./cluster_connect -n2 -T n0:kv+n1ql+index,n1:kv;n2:kv

            2. Load 10k documents in bucket default

            3. Create index idx2

            4. Block KV replica NodeC from nodeB using firewall.

            5. Kill -9 memcached on nodeB to generate new vbuuids.

            6. Failover nodeB so that replica takes over on nodeA,C.

            7. Before the fix, indexer would rollback to 0 due to vbuuid unknown from replica. Verify by checking items_count for the index.

            Could able to reproduce in 6.5.0-2356 and Fix verified in 6.5.0-4676

            girish.benakappa Girish Benakappa added a comment - Steps Verified : 1. Setup Create a 2 node cluster ./cluster_connect -n2 -T n0:kv+n1ql+index,n1:kv;n2:kv 2. Load 10k documents in bucket default 3. Create index idx2 4. Block KV replica NodeC from nodeB using firewall. 5. Kill -9 memcached on nodeB to generate new vbuuids. 6. Failover nodeB so that replica takes over on nodeA,C. 7. Before the fix, indexer would rollback to 0 due to vbuuid unknown from replica. Verify by checking items_count for the index. Could able to reproduce in 6.5.0-2356 and Fix verified in 6.5.0-4676

            People

              mihir.kamdar Mihir Kamdar (Inactive)
              jeelan.poola Jeelan Poola
              Votes:
              0 Vote for this issue
              Watchers:
              6 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty