diff options
Diffstat (limited to 'jstests/sharding/libs/sharded_transactions_helpers.js')
-rw-r--r-- | jstests/sharding/libs/sharded_transactions_helpers.js | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/jstests/sharding/libs/sharded_transactions_helpers.js b/jstests/sharding/libs/sharded_transactions_helpers.js index 422bdac250d..d1b4a82bce0 100644 --- a/jstests/sharding/libs/sharded_transactions_helpers.js +++ b/jstests/sharding/libs/sharded_transactions_helpers.js @@ -19,3 +19,22 @@ function unsetFailCommandOnEachShard(st, numShards) { shardConn.adminCommand({configureFailPoint: "failCommand", mode: "off"})); } } + +function assertNoSuchTransactionOnAllShards(st, lsid, txnNumber) { + st._rs.forEach(function(rs) { + assertNoSuchTransactionOnConn(rs.test.getPrimary(), lsid, txnNumber); + }); +} + +function assertNoSuchTransactionOnConn(conn, lsid, txnNumber) { + assert.commandFailedWithCode(conn.getDB("foo").runCommand({ + find: "bar", + lsid: lsid, + txnNumber: NumberLong(txnNumber), + autocommit: false, + }), + ErrorCodes.NoSuchTransaction, + "expected there to be no active transaction on shard, lsid: " + + tojson(lsid) + ", txnNumber: " + tojson(txnNumber) + + ", connection: " + tojson(conn)); +} |