• unknown's avatar
    MDEV-181: XID crash recovery across binlog boundaries · 0697ee26
    unknown authored
    Keep track of how many pending XIDs (transactions that are prepared in
    storage engine and written into binlog, but not yet durably committed
    on disk in the engine) there are in each binlog.
    
    When the count of one binlog drops to zero, write a new binlog checkpoint
    event, telling which is the oldest binlog with pending XIDs.
    
    When doing XA recovery after a crash, check the last binlog checkpoint
    event, and scan all binlog files from that point onwards for XIDs that
    must be committed if found in prepared state inside engine.
    
    Remove the code in binlog rotation that waits for all prepared XIDs to
    be committed before writing a new binlog file (this is no longer necessary
    when recovery can scan multiple binlog files).
    0697ee26
binlog_start_pos.inc 1.02 KB