-
Type: Bug
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
Cluster Scalability
-
ALL
-
Cluster Scalability Priorities
The setFCV command has a step to abort in-progress resharding operations both on upgrade and downgrade. However, this step comes after the FCV has been set to "Downgrading to X.Y" or "Upgrading to X.Y". This means that a resharding operation can start while the FCV is "8.0" or "7.3" and commit while the FCV is "Downgrading to 7.0". The former supports gFeatureFlagReshardingImprovements, whereas the latter does not. This can lead to the following issues:
- While the FCV is "8.0" or "7.3", the user runs a reshardCollection collection.The recipient shards skip creating the indexes for the collection since the gFeatureFlagReshardingImprovements.isEnabled(serverGlobalParams.featureCompatibility.acquireFCVSnapshot()) check here returns true.
- The recipient shards finishes cloning.
- The user runs setFCV to downgrade the FCV to 7.0. The config server sets the FCV on itself and all the shards to "Downgrading to 7.0".
- The recipient shards transition from the "cloning" state to the "apply" state instead of the "building-index" state since the gFeatureFlagReshardingImprovements.isEnabled(serverGlobalParams.featureCompatibility.acquireFCVSnapshot()) check here returns false.
- The resharding operation commits. The resulting collection doesn't have any of the indexes in the original collection before resharding.
- The setFCV command on config server gets to the step to abort resharding operations but there are no in-progress resharding operations.
We should look for a more general solution, i.e. not just fix this for gFeatureFlagReshardingImprovements, since we will likely hit this kind of issues again when we introduce other resharding feature flag (e.g. in SPM-3667).
- is related to
-
SERVER-91837 FCV upgrade cleanup can race with other operations
- Open
- related to
-
SERVER-92257 Investigate why reshardCollection can fail to clone indexes when featureFlagReshardingImprovements is not enabled
- Closed