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

Race between ActiveStream next and completeBackfill preventing sending of StreamEnd or state transition

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 6.0.4, 6.5.1
    • 5.5.0, 5.5.1, 5.5.2, 5.5.3, 5.5.4, 5.5.5, 5.5.6, 6.0.0, 6.0.1, 6.0.2, 6.0.3, 6.5.0
    • couchbase-bucket
    • None
    • Triaged
    • No

    Description

      Identified a race condition between ActiveStream::next and ActiveStream::completeBackfill where we do not notify the stream due to itemsReady being true when completing a backfill, but a racing producer stepping can find no items in the readyQ and remove the Stream from the producers ready queue. This causes us to send all items from a disk backfill but not a stream end. Unsure if this affects versions prior to 5.5 branch.

      This can also manifest in a backfill failing to transition state to either InMemory or TakeoverSend which affects replication too.

      Attachments

        Issue Links

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

          Activity

            People

              ben.huddleston Ben Huddleston
              ben.huddleston Ben Huddleston
              Votes:
              0 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Gerrit Reviews

                  There are no open Gerrit changes

                  PagerDuty