-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Cluster Scalability
-
ALL
-
Cluster Scalability Priorities
-
200
-
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
- depends on
-
SERVER-129216 Replace use of VersionContext::get in resharding code
-
- Closed
-
- 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-128476 tassert 12776700 can be triggered during fcv upgrade
-
- 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
-