IndexBuildsCoordinator-StepUp incorrectly assumes that it will always be run as primary or be killed by step down

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • Execution Team 2024-11-25
    • 0
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The IndexBuildsCoordinator-StepUp thread attempts to use OperationContext::setAlwaysInterruptAtStepDownOrUp_UNSAFE to ensure that the thread will always run as primary or be interrupted by stepdown when taking locks. However, since the RstlKillOpThread thread runs asynchronously before the RSTL has to be exclusively acquired for step down, it's possible for it to finish running before IndexBuildsCoordinator-StepUp does its setup. Then the step up can complete, thus unblocking the step down. This allows the IndexBuildsCoordinator-StepUp thread to continue as a secondary, without having been killed by the step down.

            Assignee:
            Wei Hu
            Reporter:
            Gregory Noma
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: