summaryrefslogtreecommitdiff
path: root/jstests/noPassthrough/retryable_writes_standalone_api.js
blob: ff091624358587d7ddd8920cf90c09a5cff721ab (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
/*
 * Verify behavior of retryable write commands on a standalone mongod.
 */
(function() {
    "use strict";

    load("jstests/libs/retryable_writes_util.js");

    if (!RetryableWritesUtil.storageEngineSupportsRetryableWrites(jsTest.options().storageEngine)) {
        jsTestLog("Retryable writes are not supported, skipping test");
        return;
    }

    const standalone = MongoRunner.runMongod();
    const testDB = standalone.getDB("test");

    // Commands sent to standalone nodes are not allowed to have transaction numbers.
    assert.commandFailedWithCode(
        testDB.runCommand(
            {insert: "foo", documents: [{x: 1}], txnNumber: NumberLong(1), lsid: {id: UUID()}}),
        ErrorCodes.IllegalOperation,
        "expected command with transaction number to fail on standalone mongod");

    MongoRunner.stopMongod(standalone);
}());