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

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

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.0.0-rc0
    • None
    • None
    • None
    • Replication
    • Fully Compatible
    • Repl 2023-03-20, Repl 2023-04-03, Repl 2023-04-17
    • 35

    Description

      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.

      Attachments

        Activity

          People

            lingzhi.deng@mongodb.com Lingzhi Deng
            wenbin.zhu@mongodb.com Wenbin Zhu
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: