-
Type:
Bug
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
-
Cluster Scalability
-
ALL
-
None
-
3
-
TBD
-
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 depended on by
-
SERVER-103365 Introduce an FSM Test for database DDLs + setFCV + checkMetadataConsistency + CRUD with stronger assumptions
-
- Blocked
-