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

[BP to 6.6.1] - Respond back to outstanding requests upon exit of VbSeqnosReader

    XMLWordPrintable

Details

    • Untriaged
    • 1
    • Unknown

    Description

      VbSeqnosReader has been updated to process two types of requests in 6.5.0: a) VbSeqnosRequest (b) VbMinSeqnosRequest

      When processing VbSeqnosRequest, if there are any VbMinSeqnosRequest's, then the VbMinSeqnosRequest's will be queued back into the requestCh of VbSeqnosReader. If the VbSeqnosReader closes by this time, then enqueue will fail but the caller will be waiting for a response indefinitely.

       

      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.6.1-9213 contains indexing commit a60a85d with commit message:
            MB-43231 Respond to outstanding requests on exit of vbSeqnosReader

            build-team Couchbase Build Team added a comment - Build couchbase-server-6.6.1-9213 contains indexing commit a60a85d with commit message: MB-43231 Respond to outstanding requests on exit of vbSeqnosReader

            Closing this based on Varun's validation of the fix, clean regression and system test in 6.6.1-9213.

            mihir.kamdar Mihir Kamdar (Inactive) added a comment - Closing this based on Varun's validation of the fix, clean regression and system test in 6.6.1-9213.

            Verified this issue by instrumenting the code using below steps:

            a. Simulated 1 BucketSeqnos request and 9 BucketMinSeqnos request in CreateIndex code path. This is to make sure that the requestCh of vbSeqnosReader will first dequeue BucketSeqnos request and call enqueueRequest for the other 9 BucketMinSeqnos requests

            b. Added 30 seconds sleep before fetching seqnos from bucket

            c. Deleted the bucket during this 30 sec duration

            d. As bucket is deleted, GetSeqnos will return an error

            f. This error will clean-up the vbseqnos reader and closes it's requestCh

            Before the patch, the index creation never progressed. After this patch, the create index progressed and the BucketMinSeqnos calls successfully returned

            varun.velamuri Varun Velamuri added a comment - Verified this issue by instrumenting the code using below steps: a. Simulated 1 BucketSeqnos request and 9 BucketMinSeqnos request in CreateIndex code path. This is to make sure that the requestCh of vbSeqnosReader will first dequeue BucketSeqnos request and call enqueueRequest for the other 9 BucketMinSeqnos requests b. Added 30 seconds sleep before fetching seqnos from bucket c. Deleted the bucket during this 30 sec duration d. As bucket is deleted, GetSeqnos will return an error f. This error will clean-up the vbseqnos reader and closes it's requestCh Before the patch, the index creation never progressed. After this patch, the create index progressed and the BucketMinSeqnos calls successfully returned

            People

              varun.velamuri Varun Velamuri
              varun.velamuri Varun Velamuri
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty