Files
mongo/jstests/core/removec.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

44 lines
1.2 KiB
JavaScript

// @tags: [
// requires_non_retryable_writes,
// uses_multiple_connections,
// ]
// Sanity test for removing documents with adjacent index keys. SERVER-2008
t = db.jstests_removec;
t.drop();
t.ensureIndex({a: 1});
/** @return an array containing a sequence of numbers from i to i + 10. */
function runStartingWith(i) {
ret = [];
for (j = 0; j < 11; ++j) {
ret.push(i + j);
}
return ret;
}
// Insert some documents with adjacent index keys.
for (i = 0; i < 1100; i += 11) {
t.save({a: runStartingWith(i)});
}
// Remove and then reinsert random documents in the background.
s = startParallelShell('t = db.jstests_removec;' +
'Random.setRandomSeed();' +
'for( j = 0; j < 1000; ++j ) {' +
' o = t.findOne( { a:Random.randInt( 1100 ) } );' +
' t.remove( { _id:o._id } );' +
' t.insert( o );' +
'}');
// Find operations are error free. Note that the cursor throws if it detects the $err
// field in the returned document.
for (i = 0; i < 200; ++i) {
t.find({a: {$gte: 0}}).hint({a: 1}).itcount();
}
s();
t.drop();