summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBenety Goh <benety@mongodb.com>2020-05-21 22:18:56 -0400
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2020-05-26 15:00:43 +0000
commite9011a1da5f3aa8f4a006a3a99372bd044c73324 (patch)
tree8a8c4c5b9673ef599436f8fd692727bcfc906c32
parentf8d76bbd0f28309fc2607c8d36aeb843d88087a7 (diff)
downloadmongo-e9011a1da5f3aa8f4a006a3a99372bd044c73324.tar.gz
SERVER-48271 Concurrency suites creating and dropping indexes should expect the NoMatchingDocument error code
(cherry picked from commit 99a412444c28051f3839ad07c6a938f6ef8e3a64)
-rw-r--r--jstests/concurrency/fsm_workloads/invalidated_cursors.js28
-rw-r--r--jstests/concurrency/fsm_workloads/kill_rooted_or.js28
-rw-r--r--jstests/concurrency/fsm_workloads/plan_cache_drop_database.js12
-rw-r--r--jstests/concurrency/fsm_workloads/secondary_reads_with_catalog_changes.js13
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,
+ ]);
}
}
};