Files
mongo/jstests/core/queryoptimizer3.js
Max Hirschhorn e54239b3b9 SERVER-32691 Add write_concern_majority_passthrough.yml test suite.
Reverts to emulating the write concern to work around how prior to
MongoDB 3.4, operations that did writes didn't necessarily accept a
writeConcern object.

Also limits the usage of replica set connection strings to only the
write_concern_majority_passthrough.yml test suite to work around the
lack of complete support of MongoURI parsing in versions of the mongo
shell prior to MongoDB 3.4.

(cherry picked from commit 264d971842)
2018-02-24 02:07:16 -05:00

41 lines
1.1 KiB
JavaScript

// Check cases where index scans are aborted due to the collection being dropped. SERVER-4400
//
// @tags: [requires_parallel_shell]
t = db.jstests_queryoptimizer3;
t.drop();
p = startParallelShell(
'for( i = 0; i < 400; ++i ) { sleep( 50 ); db.jstests_queryoptimizer3.drop(); }');
for (i = 0; i < 100; ++i) {
t.drop();
t.ensureIndex({a: 1});
t.ensureIndex({b: 1});
for (j = 0; j < 100; ++j) {
t.save({a: j, b: j});
}
try {
m = i % 5;
if (m == 0) {
t.count({a: {$gte: 0}, b: {$gte: 0}});
} else if (m == 1) {
t.find({a: {$gte: 0}, b: {$gte: 0}}).itcount();
} else if (m == 2) {
t.remove({a: {$gte: 0}, b: {$gte: 0}});
} else if (m == 3) {
t.update({a: {$gte: 0}, b: {$gte: 0}}, {});
} else if (m == 4) {
t.distinct('x', {a: {$gte: 0}, b: {$gte: 0}});
}
} catch (e) {
print("Op killed during yield: " + e.message);
}
}
p();
// Ensure that the server is still responding.
assert.commandWorked(db.runCommand({isMaster: 1}));