Files
mongo/jstests/core/notablescan.js
Max Hirschhorn 9ad8d6335f SERVER-40076 Tag JS tests with reason they're unable to run in Atlas.
There are likely more JavaScript tests which have been added since
r3.6.9 that still need to be tagged.

(cherry picked from commit 05ec08fa62)
2019-03-11 18:17:29 -04:00

51 lines
1.5 KiB
JavaScript

// check notablescan mode
//
// @tags: [
// # This test attempts to perform read operations after having enabled the notablescan server
// # parameter. The former operations may be routed to a secondary in the replica set, whereas the
// # latter must be routed to the primary.
// assumes_read_preference_unchanged,
// assumes_superuser_permissions,
// does_not_support_stepdowns,
// ]
t = db.test_notablescan;
t.drop();
try {
assert.commandWorked(db._adminCommand({setParameter: 1, notablescan: true}));
// commented lines are SERVER-2222
if (0) { // SERVER-2222
assert.throws(function() {
t.find({a: 1}).toArray();
});
}
t.save({a: 1});
if (0) { // SERVER-2222
assert.throws(function() {
t.count({a: 1});
});
assert.throws(function() {
t.find({}).toArray();
});
}
assert.eq(1, t.find({}).itcount()); // SERVER-274
assert.throws(function() {
t.find({a: 1}).toArray();
});
assert.throws(function() {
t.find({a: 1}).hint({$natural: 1}).toArray();
});
t.ensureIndex({a: 1});
assert.eq(0, t.find({a: 1, b: 1}).itcount());
assert.eq(1, t.find({a: 1, b: null}).itcount());
// SERVER-4327
assert.eq(0, t.find({a: {$in: []}}).itcount());
assert.eq(0, t.find({a: {$in: []}, b: 0}).itcount());
} finally {
// We assume notablescan was false before this test started and restore that
// expected value.
assert.commandWorked(db._adminCommand({setParameter: 1, notablescan: false}));
}