Add JS test for primary crashing in the middle of committing split prepared transactions

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 7.0.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • None
    • Replication
    • Fully Compatible
    • Repl 2023-03-20, Repl 2023-04-03, Repl 2023-04-17
    • 35
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      If a failure occurs while we are committing split transactions on a primary, we may end up in a state where part of a transaction has been committed and part has not. Because our data tables are not journaled, when we recoverToStableTimestamp, the committed part should be lost and we can recover normally. This relies on the fact that we hold an oplog hole open before applying any split prepared transaction so that the stable timestamp cannot move beyond the hole. This ticket should test and ensure this behavior and make sure that once the node recovers (which becomes a secondary), we won't read partial data and can correct finish the commit.

            Assignee:
            Lingzhi Deng
            Reporter:
            Wenbin Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: