summaryrefslogtreecommitdiff
path: root/jstests/sharding/libs/sharded_transactions_helpers.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/sharding/libs/sharded_transactions_helpers.js')
-rw-r--r--jstests/sharding/libs/sharded_transactions_helpers.js19
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));
+}