summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2020-05-15 08:10:12 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-05-15 12:52:48 +0000
commit285193c88f485e4786d27e27b84658fffb988479 (patch)
tree138488ebef7395083fb7f612833d1122fb9f0523
parent213de387cd53a56faff5d8d221abc479069cd161 (diff)
downloadmongo-285193c88f485e4786d27e27b84658fffb988479.tar.gz
SERVER-48093 plan_cache_drop_database.js should catch DatabaseDropPending errors
-rw-r--r--jstests/concurrency/fsm_workloads/plan_cache_drop_database.js31
1 files changed, 18 insertions, 13 deletions
diff --git a/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js b/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js
index c4cb0e01082..574d20228e1 100644
--- a/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js
+++ b/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js
@@ -12,20 +12,25 @@ var $config = (function() {
function populateData(db, collName) {
var coll = db[collName];
- var bulk = coll.initializeUnorderedBulkOp();
- for (var i = 0; i < 1000; ++i) {
- bulk.insert({a: 1, b: Random.rand()});
- }
- var res = bulk.execute();
- assertAlways.commandWorked(res);
+ try {
+ var bulk = coll.initializeUnorderedBulkOp();
+ for (var i = 0; i < 1000; ++i) {
+ bulk.insert({a: 1, b: Random.rand()});
+ }
+ var res = bulk.execute();
+ assertAlways.commandWorked(res);
- // Create two indexes to force plan caching: The {a: 1} index is
- // cached by the query planner because we query on a single value
- // of 'a' and a range of 'b' values.
- assertAlways.commandWorkedOrFailedWithCode(coll.ensureIndex({a: 1}),
- [ErrorCodes.IndexBuildAborted]);
- assertAlways.commandWorkedOrFailedWithCode(coll.ensureIndex({b: 1}),
- [ErrorCodes.IndexBuildAborted]);
+ // Create two indexes to force plan caching: The {a: 1} index is
+ // cached by the query planner because we query on a single value
+ // of 'a' and a range of 'b' values.
+ assertAlways.commandWorkedOrFailedWithCode(coll.ensureIndex({a: 1}),
+ [ErrorCodes.IndexBuildAborted]);
+ assertAlways.commandWorkedOrFailedWithCode(coll.ensureIndex({b: 1}),
+ [ErrorCodes.IndexBuildAborted]);
+ } catch (ex) {
+ assert.eq(true, ex instanceof BulkWriteError, tojson(ex));
+ assert.writeErrorWithCode(ex, ErrorCodes.DatabaseDropPending, tojson(ex));
+ }
}
var states = (function() {