diff options
author | Benety Goh <benety@mongodb.com> | 2020-05-21 22:18:56 -0400 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2020-05-22 02:30:42 +0000 |
commit | 99a412444c28051f3839ad07c6a938f6ef8e3a64 (patch) | |
tree | c591cb188ac3514627f6c1e27107d5b2f98a0e31 /jstests/concurrency | |
parent | 2c46ce08f9f33f7aadaf7fa2de46dc6dcfd1a72d (diff) | |
download | mongo-99a412444c28051f3839ad07c6a938f6ef8e3a64.tar.gz |
SERVER-48271 Concurrency suites creating and dropping indexes should expect the NoMatchingDocument error code
Diffstat (limited to 'jstests/concurrency')
4 files changed, 52 insertions, 29 deletions
diff --git a/jstests/concurrency/fsm_workloads/invalidated_cursors.js b/jstests/concurrency/fsm_workloads/invalidated_cursors.js index 0676037f619..6636c8d566c 100644 --- a/jstests/concurrency/fsm_workloads/invalidated_cursors.js +++ b/jstests/concurrency/fsm_workloads/invalidated_cursors.js @@ -49,14 +49,18 @@ var $config = (function() { this.indexSpecs.forEach(indexSpec => { let res = db[collName].createIndex(indexSpec); - assertWorkedOrFailedHandleTxnErrors( - res, - [ - ErrorCodes.DatabaseDropPending, - ErrorCodes.IndexBuildAborted, - ErrorCodes.IndexBuildAlreadyInProgress - ], - [ErrorCodes.DatabaseDropPending, ErrorCodes.IndexBuildAborted]); + assertWorkedOrFailedHandleTxnErrors(res, + [ + ErrorCodes.DatabaseDropPending, + ErrorCodes.IndexBuildAborted, + ErrorCodes.IndexBuildAlreadyInProgress, + ErrorCodes.NoMatchingDocument, + ], + [ + ErrorCodes.DatabaseDropPending, + ErrorCodes.IndexBuildAborted, + ErrorCodes.NoMatchingDocument, + ]); }); }, @@ -247,9 +251,11 @@ var $config = (function() { myDB[targetColl].dropIndex(indexSpec); // Re-create the index that was dropped. - assertAlways.commandWorkedOrFailedWithCode( - myDB[targetColl].createIndex(indexSpec), - [ErrorCodes.IndexBuildAborted, ErrorCodes.DatabaseDropPending]); + assertAlways.commandWorkedOrFailedWithCode(myDB[targetColl].createIndex(indexSpec), [ + ErrorCodes.DatabaseDropPending, + ErrorCodes.IndexBuildAborted, + ErrorCodes.NoMatchingDocument, + ]); } }; diff --git a/jstests/concurrency/fsm_workloads/kill_rooted_or.js b/jstests/concurrency/fsm_workloads/kill_rooted_or.js index 75e7d5984e7..32bb961d462 100644 --- a/jstests/concurrency/fsm_workloads/kill_rooted_or.js +++ b/jstests/concurrency/fsm_workloads/kill_rooted_or.js @@ -61,14 +61,18 @@ var $config = (function() { // Recreate the index that was dropped. (See populateIndexes() for why we ignore the // CannotImplicitlyCreateCollection error.) let res = db[this.collName].createIndex(indexSpec); - assertWorkedOrFailedHandleTxnErrors( - res, - [ - ErrorCodes.CannotImplicitlyCreateCollection, - ErrorCodes.IndexBuildAborted, - ErrorCodes.IndexBuildAlreadyInProgress - ], - [ErrorCodes.CannotImplicitlyCreateCollection, ErrorCodes.IndexBuildAborted]); + assertWorkedOrFailedHandleTxnErrors(res, + [ + ErrorCodes.CannotImplicitlyCreateCollection, + ErrorCodes.IndexBuildAborted, + ErrorCodes.IndexBuildAlreadyInProgress, + ErrorCodes.NoMatchingDocument, + ], + [ + ErrorCodes.CannotImplicitlyCreateCollection, + ErrorCodes.IndexBuildAborted, + ErrorCodes.NoMatchingDocument, + ]); } }; @@ -89,9 +93,13 @@ var $config = (function() { assertWorkedOrFailedHandleTxnErrors(coll.createIndex(indexSpec), [ ErrorCodes.CannotImplicitlyCreateCollection, - ErrorCodes.IndexBuildAlreadyInProgress + ErrorCodes.IndexBuildAlreadyInProgress, + ErrorCodes.NoMatchingDocument, ], - ErrorCodes.CannotImplicitlyCreateCollection); + [ + ErrorCodes.CannotImplicitlyCreateCollection, + ErrorCodes.NoMatchingDocument, + ]); }); } diff --git a/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js b/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js index 574d20228e1..acca1470b3f 100644 --- a/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js +++ b/jstests/concurrency/fsm_workloads/plan_cache_drop_database.js @@ -23,10 +23,14 @@ var $config = (function() { // 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]); + assertAlways.commandWorkedOrFailedWithCode(coll.createIndex({a: 1}), [ + ErrorCodes.IndexBuildAborted, + ErrorCodes.NoMatchingDocument, + ]); + assertAlways.commandWorkedOrFailedWithCode(coll.createIndex({b: 1}), [ + ErrorCodes.IndexBuildAborted, + ErrorCodes.NoMatchingDocument, + ]); } catch (ex) { assert.eq(true, ex instanceof BulkWriteError, tojson(ex)); assert.writeErrorWithCode(ex, ErrorCodes.DatabaseDropPending, tojson(ex)); diff --git a/jstests/concurrency/fsm_workloads/secondary_reads_with_catalog_changes.js b/jstests/concurrency/fsm_workloads/secondary_reads_with_catalog_changes.js index ed0dc35f23c..0fad22296a3 100644 --- a/jstests/concurrency/fsm_workloads/secondary_reads_with_catalog_changes.js +++ b/jstests/concurrency/fsm_workloads/secondary_reads_with_catalog_changes.js @@ -32,11 +32,16 @@ var $config = extendWorkload($config, function($config, $super) { const res = db[this.collName].createIndex( {x: 1}, {unique: true, background: Random.rand() < 0.5}); if (TestData.runInsideTransaction) { - assertWhenOwnColl.commandWorkedOrFailedWithCode( - res, [ErrorCodes.IndexBuildAborted, ErrorCodes.IndexBuildAlreadyInProgress]); + assertWhenOwnColl.commandWorkedOrFailedWithCode(res, [ + ErrorCodes.IndexBuildAborted, + ErrorCodes.IndexBuildAlreadyInProgress, + ErrorCodes.NoMatchingDocument, + ]); } else { - assertWhenOwnColl.commandWorkedOrFailedWithCode(res, - [ErrorCodes.IndexBuildAborted]); + assertWhenOwnColl.commandWorkedOrFailedWithCode(res, [ + ErrorCodes.IndexBuildAborted, + ErrorCodes.NoMatchingDocument, + ]); } } }; |