diff options
-rw-r--r-- | jstests/concurrency/fsm_workloads/collection_defragmentation.js | 9 | ||||
-rw-r--r-- | jstests/sharding/prefix_shard_key.js | 1 | ||||
-rw-r--r-- | src/mongo/shell/utils_sh.js | 6 |
3 files changed, 16 insertions, 0 deletions
diff --git a/jstests/concurrency/fsm_workloads/collection_defragmentation.js b/jstests/concurrency/fsm_workloads/collection_defragmentation.js index 6d5714caa69..8595d8cdadc 100644 --- a/jstests/concurrency/fsm_workloads/collection_defragmentation.js +++ b/jstests/concurrency/fsm_workloads/collection_defragmentation.js @@ -227,6 +227,15 @@ var $config = (function() { function teardown(db, collName, cluster) { const mongos = cluster.getDB('config').getMongo(); + + cluster.executeOnConfigNodes((db) => { + assert.commandWorked(db.adminCommand({ + configureFailPoint: 'overrideBalanceRoundInterval', + mode: 'alwaysOn', + data: {intervalMs: 100} + })); + }); + for (let i = 0; i < dbCount; i++) { const dbName = dbPrefix + i; for (let j = 0; j < collCount; j++) { diff --git a/jstests/sharding/prefix_shard_key.js b/jstests/sharding/prefix_shard_key.js index 20b8224b790..78486319784 100644 --- a/jstests/sharding/prefix_shard_key.js +++ b/jstests/sharding/prefix_shard_key.js @@ -61,6 +61,7 @@ assert.commandWorked(s.s0.adminCommand({shardCollection: coll.getFullName(), key assert.eq(2, coll.getIndexes().length); // make sure balancing happens +s.startBalancer(); s.awaitBalance(coll.getName(), db.getName()); // Make sure our initial balance cleanup doesn't interfere with later migrations. diff --git a/src/mongo/shell/utils_sh.js b/src/mongo/shell/utils_sh.js index a64292a6004..e086bbf8f46 100644 --- a/src/mongo/shell/utils_sh.js +++ b/src/mongo/shell/utils_sh.js @@ -351,6 +351,12 @@ sh.awaitCollectionBalance = function(coll, timeout, interval) { }, 'Timed out waiting for orphans counter to be 0', timeout, interval); sh.enableBalancing(coll); + // (SERVER-70602) Wait for some balancing rounds to avoid balancerCollectionStatus + // reporting balancerCompliant too early + for (let i = 0; i < 3; ++i) { + sh.awaitBalancerRound(timeout, interval); + } + return assert.commandWorked(sh._adminCommand({balancerCollectionStatus: ns}, true)) .balancerCompliant; }, |