const dbName = "test";
const collName = "write_conflicts_with_non_txns";
const testDB = db.getSiblingDB(dbName);
const testColl = testDB[collName];
const sessionOptions = {
causalConsistency: false
};
const session = db.getMongo().startSession(sessionOptions);
const sessionDb = session.getDatabase(dbName);
const sessionColl = sessionDb[collName];
testDB.runCommand({drop: collName, writeConcern: {w: "majority"}});
assert.commandWorked(testDB.runCommand({create: collName, writeConcern: {w: "majority"}}));
const txnOp = {
update: collName,
updates: [{q: {_id: 1}, u: {$set: {t1: 1}}, upsert: true}]
};
const nonTxnOp = {
update: collName,
updates: [{q: {_id: 1}, u: {$set: {t2: 1}}, upsert: true}],
maxTimeMS: 100,
};
session.startTransaction();
assert.commandWorked(sessionColl.runCommand(txnOp));
assert.commandFailedWithCode(testColl.runCommand(nonTxnOp), ErrorCodes.MaxTimeMSExpired)