Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-97300

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

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 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

      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@mongodb.com Wei Hu
            Reporter:
            gregory.noma@mongodb.com Gregory Noma
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: