I hit this invariant when testing a change to the range deleter. I'm hitting this only in the conucrrency_local_read_write_multi_stmt_txn suite when running either of random_movechunk_broadcast_delete_transaction.js/update_transaction.js. The following is the situation in which we hit this:
1. a transaction starts at the same time as the range deleter starts running. (the coordinator shard is also the shard that the range deleter is running on)
2. the range deleter continually retries on WCE (I added logging so can confirm)
3. the coordinator shard receives votes to commit, advances the cluster time to the commit timestamp, and writes the decision
4. coord sends commit to itself and the other participant
5. coord receives commit and then the range deleter hits this invariant `Invariant failure !getTestCommandsEnabled()` in wiredtired_index.cpp in `updatePosition()` and logs `WTIndex::updatePosition – the new key ( 2BCA041DB0) is less than the previous key (2C01B20406D0), which is a bug.`
I've attached a git format-patch to repro.
- is related to
-
SERVER-41311 Invariant that restore() is called on the RecordCursor prior to its usage, after save() was called
- Closed