- While a Change Stream is open on a single replica set, the test prepares multiple transactions, executes writes without a transaction, commits at least one prepared transaction, and aborts at least one prepared transaction.
- The test asserts that all operations appear in commit order and operations from aborted transactions do not appear as changes in the Change Stream.
- It then resumes the Change Stream from each possible resume token, ensuring that is sees the same stream of events each time.
- A sharded test performs the same operations and checks as above, using sharded transactions instead, and ensuring that writes occur on multiple shards.
|