The fixtures currently force a transaction to abort with prepare by configuring the failCommand failpoint to force the prepareTransaction command to fail with NoSuchTransaction on one of the participant shards. However, this doesn't guarantee that the transaction always aborts with prepare since the prepareTransaction commands to the other participant shards could get cancelled if the abort vote is received before the prepareTransaction command requests are sent out. To make the transaction deterministically abort after prepare, the test should instead run a prepareTransaction command against one of the shards directly and run abortTransaction instead.
InternalTransactionReshardingTest and InternalTransactionChunkMigrationTest don't always cause transactions to abort with prepare as configured
- Votes:
-
0 Vote for this issue
- Watchers:
-
3 Start watching this issue
- Created:
- Updated:
- Resolved: