OldestActiveTxnTimestamp thread should be interruptible by step up/stepdown

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.1.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Replication
    • Fully Compatible
    • ALL
    • v8.0, v7.0
    • Repl 2024-09-30, Repl 2024-10-14, Repl 2024-10-28, Repl 2024-11-11, Repl 2024-12-09, Repl 2024-12-23
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      The OldestActiveTxnTimestamp thread takes a db lock in IS mode, which results in it taking the global lock in IS mode as well as the RSTL in IX mode.
      The AutoGetRSTLForStepUpStepDown only kills conflicting operations if they took the global lock in X, IX, or S mode, so it wouldn't kill this thread. It seems like we should mark the OldestActiveTxnTimestamp thread as interruptible during stepup/stepdown, and additionally check for interrupt in this loop, since it's possible that going through all the active transactions would take longer than the RSTL timeout period of 30 seconds, causing the AutoGetRSTLForStepUpStepDown to fassert.

              Assignee:
              Huayu Ouyang
              Reporter:
              Huayu Ouyang
              Votes:
              0 Vote for this issue
              Watchers:
              16 Start watching this issue

                Created:
                Updated:
                Resolved: