-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Cluster Scalability
-
ALL
-
Cluster Scalability Priorities
-
2
-
None
-
None
-
None
-
None
-
None
-
None
-
None
In a cluster with config shard, and with allFeatureFlagTests (I don't know which feature flag triggers it) setFCV can get indefinitely stuck waiting for resharding operations to abort. The following jstest reproduces the issue very reliably:
/**
* @tags: [
* requires_sharding,
* multiversion_incompatible,
* ]
*/
import {
uniformDistTransitions
} from "jstests/concurrency/fsm_workload_helpers/state_transition_utils.js";
export const $config = (function() {
let states = {
insert: function(db, collName, connCache) {
jsTestLog('Executing insert state');
const bulk = db.getSiblingDB("DB_" + Random.randInt(10))["coll_" + Random.randInt(10)]
.initializeUnorderedBulkOp();
for (let i = 0; i < 100; ++i) {
bulk.insert({x: i});
}
assert.commandWorked(bulk.execute());
jsTestLog('Finishing insert state');
},
setFCV: function(db, collName, connCache) {
const fcvValues = [lastLTSFCV, lastContinuousFCV, latestFCV];
const targetFCV = fcvValues[Random.randInt(3)];
jsTestLog('Executing setFCV state, setting to:' + targetFCV);
try {
assert.commandWorked(
db.adminCommand({setFeatureCompatibilityVersion: targetFCV, confirm: true}));
} catch (e) {
// Just ignore
jsTestLog(e);
}
jsTestLog('setFCV state finished');
},
};
return {
threadCount: 8,
iterations: 64,
startState: 'insert',
data: {},
states: states,
transitions: uniformDistTransitions(states),
setup: function(db, collName, connCache) {},
passConnectionCache: true
};
})();
Run in a suite with balancer, like this:
buildscripts/resmoke.py run --suites=concurrency_sharded_with_balancer_and_auto_bootstrap --runAllFeatureFlagTests jstests/concurrency/fsm_workloads/ddl/random_ddl/test.js
- is related to
-
SERVER-92437 Problems with resharding operation that starts while the FCV is "8.0" or "7.3" and commits while the FCV is "Downgrading to 7.0"
-
- Open
-
-
SERVER-127952 ReshardingCoordinator may commit with a different authoritativeness level than when it started
-
- Closed
-
-
SERVER-104171 Re-enable JavaScript tests which were left disabled due to SERVER-88539
-
- Backlog
-
-
SERVER-123568 Use VersionContext to pin resharding coordinator FCV across its lifetime
-
- Closed
-
- related to
-
SERVER-128025 setFCV should abort resharding coordinators before draining in config shard topology
-
- Closed
-
-
SERVER-103365 Introduce an FSM Test for database DDLs + setFCV + checkMetadataConsistency + CRUD with stronger assumptions
-
- Closed
-