diff options
Diffstat (limited to 'jstests/core/queryoptimizer3.js')
-rw-r--r-- | jstests/core/queryoptimizer3.js | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/jstests/core/queryoptimizer3.js b/jstests/core/queryoptimizer3.js deleted file mode 100644 index 9fa0585991a..00000000000 --- a/jstests/core/queryoptimizer3.js +++ /dev/null @@ -1,69 +0,0 @@ -// Validates cases where index scans are aborted due to the collection being dropped (SERVER-4400) -// -// Drop and other sharding commands can conflict with LockBusy errors in a sharding passthrough -// suite. This is because drop against a mongos takes distlocks, whereas drop against a mongod does -// not. Due to the huge number of parallel drops in this test, the other thead is very likely to be -// starved frequently. -// Note: this tag can be safely removed once PM-697 is complete and replaces distlocks with a -// LockManager that has a fairness policy, which distlocks lack. -// @tags: [ -// assumes_against_mongod_not_mongos, -// requires_non_retryable_writes, -// uses_multiple_connections, -// ] - -(function() { -'use strict'; - -var coll = db.jstests_queryoptimizer3; - -var shellWaitHandle = startParallelShell(function() { - for (var i = 0; i < 400; ++i) { - sleep(50); - try { - db.jstests_queryoptimizer3.drop(); - } catch (e) { - if (e.code === ErrorCodes.BackgroundOperationInProgressForNamespace) { - print("Background operation temporarily in progress while attempting to drop " + - "collection."); - continue; - } - throw e; - } - } -}); - -for (var i = 0; i < 100; ++i) { - coll.drop(); - assert.commandWorked(coll.ensureIndex({a: 1})); - assert.commandWorked(coll.ensureIndex({b: 1})); - - var bulk = coll.initializeUnorderedBulkOp(); - for (var j = 0; j < 100; ++j) { - bulk.insert({a: j, b: j}); - } - assert.commandWorked(bulk.execute()); - - try { - var m = i % 5; - if (m == 0) { - coll.count({a: {$gte: 0}, b: {$gte: 0}}); - } else if (m == 1) { - coll.find({a: {$gte: 0}, b: {$gte: 0}}).itcount(); - } else if (m == 2) { - coll.remove({a: {$gte: 0}, b: {$gte: 0}}); - } else if (m == 3) { - coll.update({a: {$gte: 0}, b: {$gte: 0}}, {}); - } else if (m == 4) { - coll.distinct('x', {a: {$gte: 0}, b: {$gte: 0}}); - } - } catch (e) { - print("Op killed during yield: " + e.message); - } -} - -shellWaitHandle(); - -// Ensure that the server is still responding -assert.commandWorked(db.runCommand({isMaster: 1})); -})(); |