-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication, Storage
-
None
-
Fully Compatible
-
ALL
-
v4.4, v4.2
-
Repl 2020-08-24
-
20
On-disk catalog multi-key update for multi-statement transactions happens in a side transaction block. SERVER-48010 replaced ghost timestamp (determined by logical clock) with no-op write for timestamping the on-disk catalog writes on primaries. Since initial sync doesn't set transaction recoveryPrepareOpTime while reconstructing prepared transactions, it wrongly calls primary no-op write code path to acquire timestamp for the catalog write. As a result, we hit this invariant failure which leads to initial syncing node server crash.
This happens in both 4.4 and master.
- is related to
-
SERVER-53932 Multikey write during recovery of prepared transaction could use commit timestamp < stable timestamp
- Closed
- related to
-
SERVER-42251 Cannot timestamp multikey write during recovery of prepared transaction before LogicalClock has been initialized
- Closed
-
SERVER-48010 Substitute ghost timestamp with no-op write in multi-statement txn multikey sidetxn write
- Closed