summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaolo Polato <paolo.polato@mongodb.com>2021-07-07 10:28:16 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2021-07-21 08:12:17 +0000
commita7a1e979b0dc81a4194609a34a04b63fd37e165c (patch)
treeeb5fdcac6c996ecb6922185fe374f1fe2dffaaad
parentd735ffcac376e514f266a315f6405976d603aef6 (diff)
downloadmongo-a7a1e979b0dc81a4194609a34a04b63fd37e165c.tar.gz
SERVER-58191 Allow delete_during_migrate test to tolerate chunk migration timeouts in slow variants.
(cherry picked from commit a8cf4f32d5b53291add8b19d6f26ccac82c50dde)
-rw-r--r--jstests/sharding/delete_during_migrate.js15
1 files changed, 13 insertions, 2 deletions
diff --git a/jstests/sharding/delete_during_migrate.js b/jstests/sharding/delete_during_migrate.js
index 108097bf808..0575488a64f 100644
--- a/jstests/sharding/delete_during_migrate.js
+++ b/jstests/sharding/delete_during_migrate.js
@@ -10,6 +10,10 @@
(function() {
'use strict';
+const isCodeCoverageEnabled = buildInfo().buildEnvironment.ccflags.includes('-ftest-coverage');
+const isSanitizerEnabled = buildInfo().buildEnvironment.ccflags.includes('-fsanitize');
+const slowTestVariant = isCodeCoverageEnabled || isSanitizerEnabled;
+
var st = new ShardingTest({shards: 2, mongos: 1});
var dbname = "test";
@@ -36,8 +40,15 @@ assert.commandWorked(st.s0.adminCommand({shardcollection: ns, key: {a: 1}}));
var join = startParallelShell("db." + coll + ".remove({});", st.s0.port);
// migrate while deletions are happening
-assert.commandWorked(st.s0.adminCommand(
- {moveChunk: ns, find: {a: 1}, to: st.getOther(st.getPrimaryShard(dbname)).name}));
+try {
+ assert.commandWorked(st.s0.adminCommand(
+ {moveChunk: ns, find: {a: 1}, to: st.getOther(st.getPrimaryShard(dbname)).name}));
+} catch (e) {
+ const expectedFailureMessage = "startCommit timed out waiting for the catch up completion.";
+ if (!slowTestVariant || !e.message.match(expectedFailureMessage)) {
+ throw e;
+ }
+}
join();