blob: ed4dc19a1643b6da250281b8c3f2f4e12bcc9bea (
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
/**
* Tests readConcern level snapshot outside of transactions.
*
* @tags: [
* requires_fcv_46,
* requires_majority_read_concern,
* ]
*/
(function() {
"use strict";
load("jstests/libs/global_snapshot_reads_util.js");
// TODO(SERVER-47672): Use minSnapshotHistoryWindowInSeconds instead.
const options = {
setParameter: {maxTargetSnapshotHistoryWindowInSeconds: 600}
};
const replSet = new ReplSetTest({nodes: 3, nodeOptions: options});
replSet.startSet();
replSet.initiateWithHighElectionTimeout();
const primaryDB = replSet.getPrimary().getDB('test');
const secondaryDB = replSet.getSecondary().getDB('test');
snapshotReadsTest({
testScenarioName: jsTestName(),
primaryDB: primaryDB,
secondaryDB: secondaryDB,
collName: "test",
awaitCommittedFn: () => {
replSet.awaitLastOpCommitted();
}
});
// Ensure "atClusterTime" is omitted from a regular (non-snapshot) reads.
primaryDB["collection"].insertOne({});
const cursor = assert.commandWorked(primaryDB.runCommand({find: "test"})).cursor;
assert(!cursor.hasOwnProperty("atClusterTime"));
const distinctResult = assert.commandWorked(primaryDB.runCommand({distinct: "test", key: "_id"}));
assert(!distinctResult.hasOwnProperty("atClusterTime"));
replSet.stopSet();
})();
|