From 285193c88f485e4786d27e27b84658fffb988479 Mon Sep 17 00:00:00 2001 From: Benety Goh Date: Fri, 15 May 2020 08:10:12 -0400 Subject: SERVER-48093 plan_cache_drop_database.js should catch DatabaseDropPending errors --- .../fsm_workloads/plan_cache_drop_database.js | 31 +++++++++++++--------- 1 file 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() { -- cgit v1.2.1