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

[BP to 6.5.2] 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
            wayne Wayne Siu added a comment -

            Jeelan Poola
            Please confirm if this issue has to be backported to 6.5.2. Thanks.

            cc: Ritam SharmaMihir Kamdar

            Show
            wayne Wayne Siu added a comment - Jeelan Poola Please confirm if this issue has to be backported to 6.5.2. Thanks. cc: Ritam Sharma Mihir Kamdar
            Hide
            varun.velamuri Varun Velamuri added a comment -

            Wayne Siu, Yes. This issue has to be BP to 6.5.2. The fix for this issue will prevent indexer from entering into a deadlock state

            Show
            varun.velamuri Varun Velamuri added a comment - Wayne Siu , Yes. This issue has to be BP to 6.5.2. The fix for this issue will prevent indexer from entering into a deadlock state
            Hide
            build-team Couchbase Build Team added a comment -

            Build couchbase-server-6.5.2-6616 contains indexing commit b0ee099 with commit message:
            MB-43232 Respond to outstanding requests on exit of vbSeqnosReader

            Show
            build-team Couchbase Build Team added a comment - Build couchbase-server-6.5.2-6616 contains indexing commit b0ee099 with commit message: MB-43232 Respond to outstanding requests on exit of vbSeqnosReader
            Hide
            mihir.kamdar Mihir Kamdar added a comment -

            Hemant Rajput can you pls validate this one ?

            Show
            mihir.kamdar Mihir Kamdar added a comment - Hemant Rajput can you pls validate this one ?
            Hide
            hemant.rajput Hemant Rajput added a comment -

            Varun Velamuri, as discussed let us know once you dev-verify it?

             

            Show
            hemant.rajput Hemant Rajput added a comment - Varun Velamuri , as discussed let us know once you dev-verify it?  
            Hide
            varun.velamuri Varun Velamuri added a comment -

            Hemant Rajput, We can close this based on dev-verify. 

            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 - Hemant Rajput , We can close this based on dev-verify.  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:
              hemant.rajput Hemant Rajput
              Reporter:
              varun.velamuri Varun Velamuri
              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