diff options
Diffstat (limited to 'jstests/sharding/txn_two_phase_commit_commands_basic_requirements.js')
-rw-r--r-- | jstests/sharding/txn_two_phase_commit_commands_basic_requirements.js | 99 |
1 files changed, 50 insertions, 49 deletions
diff --git a/jstests/sharding/txn_two_phase_commit_commands_basic_requirements.js b/jstests/sharding/txn_two_phase_commit_commands_basic_requirements.js index 1e48f4f5ad5..b51d2c0c8ea 100644 --- a/jstests/sharding/txn_two_phase_commit_commands_basic_requirements.js +++ b/jstests/sharding/txn_two_phase_commit_commands_basic_requirements.js @@ -4,62 +4,63 @@ * @tags: [uses_transactions] */ (function() { - "use strict"; +"use strict"; - const dbName = "test"; - const collName = "foo"; +const dbName = "test"; +const collName = "foo"; - const txnNumber = 0; - const lsid = {id: UUID()}; +const txnNumber = 0; +const lsid = { + id: UUID() +}; - const checkCoordinatorCommandsRejected = function(conn, expectedErrorCode) { - assert.commandFailedWithCode(conn.adminCommand({ - coordinateCommitTransaction: 1, - participants: [{shardId: "dummy1"}, {shardId: "dummy2"}], - lsid: lsid, - txnNumber: NumberLong(txnNumber), - stmtId: NumberInt(1), - autocommit: false - }), - expectedErrorCode); - }; +const checkCoordinatorCommandsRejected = function(conn, expectedErrorCode) { + assert.commandFailedWithCode(conn.adminCommand({ + coordinateCommitTransaction: 1, + participants: [{shardId: "dummy1"}, {shardId: "dummy2"}], + lsid: lsid, + txnNumber: NumberLong(txnNumber), + stmtId: NumberInt(1), + autocommit: false + }), + expectedErrorCode); +}; - const checkCoordinatorCommandsAgainstNonAdminDbRejected = function(conn) { - const testDB = conn.getDB(dbName); - assert.commandFailedWithCode(testDB.runCommand({ - coordinateCommitTransaction: 1, - participants: [{shardId: "dummy1"}, {shardId: "dummy2"}], - lsid: lsid, - txnNumber: NumberLong(txnNumber), - stmtId: NumberInt(0), - autocommit: false - }), - ErrorCodes.Unauthorized); - }; +const checkCoordinatorCommandsAgainstNonAdminDbRejected = function(conn) { + const testDB = conn.getDB(dbName); + assert.commandFailedWithCode(testDB.runCommand({ + coordinateCommitTransaction: 1, + participants: [{shardId: "dummy1"}, {shardId: "dummy2"}], + lsid: lsid, + txnNumber: NumberLong(txnNumber), + stmtId: NumberInt(0), + autocommit: false + }), + ErrorCodes.Unauthorized); +}; - const st = new ShardingTest({shards: 1}); +const st = new ShardingTest({shards: 1}); - jsTest.log("Verify that coordinator commands are only accepted against the admin database"); - checkCoordinatorCommandsAgainstNonAdminDbRejected(st.rs0.getPrimary()); - checkCoordinatorCommandsAgainstNonAdminDbRejected(st.configRS.getPrimary()); +jsTest.log("Verify that coordinator commands are only accepted against the admin database"); +checkCoordinatorCommandsAgainstNonAdminDbRejected(st.rs0.getPrimary()); +checkCoordinatorCommandsAgainstNonAdminDbRejected(st.configRS.getPrimary()); - st.stop(); +st.stop(); - jsTest.log( - "Verify that a shard server that has not yet been added to a cluster does not accept coordinator commands"); - const shardsvrReplSet = new ReplSetTest({nodes: 1, nodeOptions: {shardsvr: ""}}); - shardsvrReplSet.startSet(); - shardsvrReplSet.initiate(); - checkCoordinatorCommandsRejected(shardsvrReplSet.getPrimary(), - ErrorCodes.ShardingStateNotInitialized); - shardsvrReplSet.stopSet(); - - jsTest.log( - "Verify that a non-config server, non-shard server does not accept coordinator commands"); - const standaloneReplSet = new ReplSetTest({nodes: 1}); - standaloneReplSet.startSet(); - standaloneReplSet.initiate(); - checkCoordinatorCommandsRejected(standaloneReplSet.getPrimary(), ErrorCodes.NoShardingEnabled); - standaloneReplSet.stopSet(); +jsTest.log( + "Verify that a shard server that has not yet been added to a cluster does not accept coordinator commands"); +const shardsvrReplSet = new ReplSetTest({nodes: 1, nodeOptions: {shardsvr: ""}}); +shardsvrReplSet.startSet(); +shardsvrReplSet.initiate(); +checkCoordinatorCommandsRejected(shardsvrReplSet.getPrimary(), + ErrorCodes.ShardingStateNotInitialized); +shardsvrReplSet.stopSet(); +jsTest.log( + "Verify that a non-config server, non-shard server does not accept coordinator commands"); +const standaloneReplSet = new ReplSetTest({nodes: 1}); +standaloneReplSet.startSet(); +standaloneReplSet.initiate(); +checkCoordinatorCommandsRejected(standaloneReplSet.getPrimary(), ErrorCodes.NoShardingEnabled); +standaloneReplSet.stopSet(); })(); |