fcbis_restart_node_during_sync_with_pre_images.js waits for failpoint that is triggered too late

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 9.0.0-rc1
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • ALL
    • Repl 2026-07-06, Repl 2026-07-20
    • 200
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      In fcbis_restart_node_during_sync_with_pre_images.js, the intended order of events is:

      We need to kill any leaked backup cursor because _openBackupCursor will fail if there is an existing backup cursor: the sync source does not allow two backup cursors to exist simultaneously; the old one must be killed

      As a result, if we leak a cursor, we will unfortunately still try to open a backup cursor before we hit the failpoint, and hit the duplicate-cursor-error crash-loop we were trying to avoid.

      So, we need to answer:

      • what work actually needs to be done on the secondary before we restart the set (i.e. would it be problematic to instead wait for an earlier failpoint that occurs before we attempt to make a new backup cursor?)
      • how can we guarantee that that work is done without opening a backup cursor in the process

            Assignee:
            Joseph Obaraye
            Reporter:
            Joseph Obaraye
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: