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

    • Triage:
      Untriaged
    • Story Points:
      1
    • Is this a Regression?:
      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

            Hide
            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

            Show
            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
            Hide
            mihir.kamdar Mihir Kamdar added a comment -

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

            Show
            mihir.kamdar Mihir Kamdar added a comment - Closing this based on Varun's validation of the fix, clean regression and system test in 6.6.1-9213.
            Hide
            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

            Show
            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

              Assignee:
              varun.velamuri Varun Velamuri
              Reporter:
              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