summaryrefslogtreecommitdiff
path: root/jstests/core/txns/start_transaction_with_read.js
diff options
context:
space:
mode:
Diffstat (limited to 'jstests/core/txns/start_transaction_with_read.js')
-rw-r--r--jstests/core/txns/start_transaction_with_read.js69
1 files changed, 37 insertions, 32 deletions
diff --git a/jstests/core/txns/start_transaction_with_read.js b/jstests/core/txns/start_transaction_with_read.js
index f49a4518171..045b9af1083 100644
--- a/jstests/core/txns/start_transaction_with_read.js
+++ b/jstests/core/txns/start_transaction_with_read.js
@@ -1,52 +1,57 @@
// Test transaction starting with read.
// @tags: [uses_transactions]
(function() {
- "use strict";
+"use strict";
- const dbName = "test";
- const collName = "start_transaction_with_read";
+const dbName = "test";
+const collName = "start_transaction_with_read";
- const testDB = db.getSiblingDB(dbName);
- const coll = testDB[collName];
+const testDB = db.getSiblingDB(dbName);
+const coll = testDB[collName];
- testDB.runCommand({drop: collName, writeConcern: {w: "majority"}});
+testDB.runCommand({drop: collName, writeConcern: {w: "majority"}});
- testDB.runCommand({create: coll.getName(), writeConcern: {w: "majority"}});
+testDB.runCommand({create: coll.getName(), writeConcern: {w: "majority"}});
- const sessionOptions = {causalConsistency: false};
- const session = testDB.getMongo().startSession(sessionOptions);
- const sessionDb = session.getDatabase(dbName);
- const sessionColl = sessionDb[collName];
+const sessionOptions = {
+ causalConsistency: false
+};
+const session = testDB.getMongo().startSession(sessionOptions);
+const sessionDb = session.getDatabase(dbName);
+const sessionColl = sessionDb[collName];
- // Non-transactional write to give something to find.
- const initialDoc = {_id: "pretransaction1", x: 0};
- assert.writeOK(sessionColl.insert(initialDoc, {writeConcern: {w: "majority"}}));
+// Non-transactional write to give something to find.
+const initialDoc = {
+ _id: "pretransaction1",
+ x: 0
+};
+assert.writeOK(sessionColl.insert(initialDoc, {writeConcern: {w: "majority"}}));
- jsTest.log("Start a transaction with a read");
+jsTest.log("Start a transaction with a read");
- session.startTransaction();
+session.startTransaction();
- let docs = sessionColl.find({}).toArray();
- assert.sameMembers(docs, [initialDoc]);
+let docs = sessionColl.find({}).toArray();
+assert.sameMembers(docs, [initialDoc]);
- jsTest.log("Insert two documents in a transaction");
+jsTest.log("Insert two documents in a transaction");
- // Insert a doc within the transaction.
- assert.commandWorked(sessionColl.insert({_id: "insert-1"}));
+// Insert a doc within the transaction.
+assert.commandWorked(sessionColl.insert({_id: "insert-1"}));
- // Read in the same transaction returns the doc.
- docs = sessionColl.find({_id: "insert-1"}).toArray();
- assert.sameMembers(docs, [{_id: "insert-1"}]);
+// Read in the same transaction returns the doc.
+docs = sessionColl.find({_id: "insert-1"}).toArray();
+assert.sameMembers(docs, [{_id: "insert-1"}]);
- // Insert a doc within a transaction.
- assert.commandWorked(sessionColl.insert({_id: "insert-2"}));
+// Insert a doc within a transaction.
+assert.commandWorked(sessionColl.insert({_id: "insert-2"}));
- assert.commandWorked(session.commitTransaction_forTesting());
+assert.commandWorked(session.commitTransaction_forTesting());
- // Read with default read concern sees the committed transaction.
- assert.eq({_id: "insert-1"}, coll.findOne({_id: "insert-1"}));
- assert.eq({_id: "insert-2"}, coll.findOne({_id: "insert-2"}));
- assert.eq(initialDoc, coll.findOne(initialDoc));
+// Read with default read concern sees the committed transaction.
+assert.eq({_id: "insert-1"}, coll.findOne({_id: "insert-1"}));
+assert.eq({_id: "insert-2"}, coll.findOne({_id: "insert-2"}));
+assert.eq(initialDoc, coll.findOne(initialDoc));
- session.endSession();
+session.endSession();
}());