diff options
author | William Schultz <william.schultz@mongodb.com> | 2016-11-08 15:24:16 -0500 |
---|---|---|
committer | William Schultz <william.schultz@mongodb.com> | 2016-11-15 10:26:35 -0500 |
commit | d7c5c9aaf6437be34193ed83d74defa52c0e031f (patch) | |
tree | 441037ab10dcb803913ee8a820b822256aa436ef /jstests/replsets/read_committed_lookup.js | |
parent | 21821549cdeef84173293c46725695fc3a7834b0 (diff) | |
download | mongo-d7c5c9aaf6437be34193ed83d74defa52c0e031f.tar.gz |
SERVER-26852 Move read concern tests out of noPassthrough
SERVER-26852 Moved readConcern tests out of noPassthrough
Diffstat (limited to 'jstests/replsets/read_committed_lookup.js')
-rw-r--r-- | jstests/replsets/read_committed_lookup.js | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/jstests/replsets/read_committed_lookup.js b/jstests/replsets/read_committed_lookup.js new file mode 100644 index 00000000000..d827e9580f3 --- /dev/null +++ b/jstests/replsets/read_committed_lookup.js @@ -0,0 +1,44 @@ +/** + * Tests that a $lookup and $graphLookup stage within an aggregation pipeline will read only + * committed data if the pipeline is using a majority readConcern. + */ + +load("jstests/replsets/rslib.js"); // For startSetIfSupportsReadMajority. +load("jstests/libs/read_committed_lib.js"); // For testReadCommittedLookup + +(function() { + "use strict"; + + // Confirm majority readConcern works on a replica set. + const replSetName = "lookup_read_majority"; + let rst = new ReplSetTest({ + nodes: 3, + name: replSetName, + nodeOptions: { + enableMajorityReadConcern: "", + shardsvr: "", + } + }); + + if (!startSetIfSupportsReadMajority(rst)) { + jsTest.log("skipping test since storage engine doesn't support committed reads"); + return; + } + + const nodes = rst.nodeList(); + const config = { + _id: replSetName, + members: [ + {_id: 0, host: nodes[0]}, + {_id: 1, host: nodes[1], priority: 0}, + {_id: 2, host: nodes[2], arbiterOnly: true}, + ] + }; + updateConfigIfNotDurable(config); + rst.initiate(config); + + let shardSecondary = rst.liveNodes.slaves[0]; + + testReadCommittedLookup(rst.getPrimary().getDB("test"), shardSecondary, rst); + +})(); |