SERVER-118488 Re-enable FeatureFlagReshardingCloneNoRefresh (#50899)
GitOrigin-RevId: 8571e2e9450dcc7dbfbc928e64522003c0674f3d
This commit is contained in:
parent
659cc2da66
commit
68f0158741
@ -1,13 +1,6 @@
|
||||
/**
|
||||
* Tests that _flushReshardingStateChange command retries sharding metadata refresh on transient
|
||||
* errors until there is a failover.
|
||||
* @tags: [
|
||||
* # The future-git-tag variant runs dist-test/bin/mongod with a fictional FCV=100.0,
|
||||
* # causing the FCV-gated featureFlagReshardingCloneNoRefresh to appear disabled
|
||||
* # even when set via setParameter.
|
||||
* # TODO (SERVER-118488): Remove once the feature flag has an explicit version.
|
||||
* future_git_tag_incompatible,
|
||||
* ]
|
||||
*/
|
||||
import {configureFailPoint} from "jstests/libs/fail_point_util.js";
|
||||
import {FeatureFlagUtil} from "jstests/libs/feature_flag_util.js";
|
||||
@ -150,6 +143,12 @@ function testRetryOnTransientError(st, {enableCloneNoRefresh}) {
|
||||
|
||||
fp0.off();
|
||||
fp1.off();
|
||||
|
||||
try {
|
||||
testColl.drop();
|
||||
} catch (e) {
|
||||
/* best-effort cleanup */
|
||||
}
|
||||
}
|
||||
|
||||
function testStopRetryingOnFailover(st, {enableCloneNoRefresh}) {
|
||||
@ -214,6 +213,12 @@ function testStopRetryingOnFailover(st, {enableCloneNoRefresh}) {
|
||||
|
||||
fp0.off();
|
||||
fp1.off();
|
||||
|
||||
try {
|
||||
testColl.drop();
|
||||
} catch (e) {
|
||||
/* best-effort cleanup */
|
||||
}
|
||||
}
|
||||
|
||||
function runTests({enableCloneNoRefresh}) {
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* not get blocked as long as the coordinator is not engaging the critical section.
|
||||
*
|
||||
* @tags: [
|
||||
* requires_fcv_83,
|
||||
* requires_fcv_90,
|
||||
* featureFlagReshardingSkipCloningAndApplyingIfApplicable,
|
||||
* ]
|
||||
*/
|
||||
@ -47,9 +47,7 @@ const failpoints = [
|
||||
"pauseBeforeTellDonorToRefresh",
|
||||
"pauseAfterInsertCoordinatorDoc",
|
||||
"pauseBeforeCTHolderInitialization",
|
||||
// TODO (SERVER-104494, SERVER-104258): Test this failpoint when enabling
|
||||
// featureFlagReshardingCloneNoRefresh.
|
||||
// "reshardingPauseBeforeTellingRecipientsToClone",
|
||||
"reshardingPauseBeforeTellingRecipientsToClone",
|
||||
];
|
||||
const waitForFailPointTimeout = kDefaultWaitForFailPointTimeout * (isSlowBuild(configPrimary) + 1);
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* not get blocked as long as the coordinator is not engaging the critical section.
|
||||
*
|
||||
* @tags: [
|
||||
* requires_fcv_83,
|
||||
* requires_fcv_90,
|
||||
* featureFlagReshardingSkipCloningAndApplyingIfApplicable,
|
||||
* ]
|
||||
*/
|
||||
@ -49,9 +49,7 @@ const failpoints = [
|
||||
"pauseBeforeTellDonorToRefresh",
|
||||
"pauseAfterInsertCoordinatorDoc",
|
||||
"pauseBeforeCTHolderInitialization",
|
||||
// TODO (SERVER-104494, SERVER-104258): Test this failpoint when enabling
|
||||
// featureFlagReshardingCloneNoRefresh.
|
||||
// "reshardingPauseBeforeTellingRecipientsToClone",
|
||||
"reshardingPauseBeforeTellingRecipientsToClone",
|
||||
];
|
||||
const waitForFailPointTimeout = kDefaultWaitForFailPointTimeout * (isSlowBuild(configPrimary) + 1);
|
||||
|
||||
|
||||
@ -3,7 +3,7 @@
|
||||
* not get blocked as long as the coordinator is not engaging the critical section.
|
||||
*
|
||||
* @tags: [
|
||||
* requires_fcv_83,
|
||||
* requires_fcv_90,
|
||||
* featureFlagReshardingSkipCloningAndApplyingIfApplicable,
|
||||
* ]
|
||||
*/
|
||||
@ -47,9 +47,7 @@ const failpoints = [
|
||||
"pauseBeforeTellDonorToRefresh",
|
||||
"pauseAfterInsertCoordinatorDoc",
|
||||
"pauseBeforeCTHolderInitialization",
|
||||
// TODO (SERVER-104494, SERVER-104258): Test this failpoint when enabling
|
||||
// featureFlagReshardingCloneNoRefresh.
|
||||
// "reshardingPauseBeforeTellingRecipientsToClone",
|
||||
"reshardingPauseBeforeTellingRecipientsToClone",
|
||||
];
|
||||
const waitForFailPointTimeout = kDefaultWaitForFailPointTimeout * (isSlowBuild(configPrimary) + 1);
|
||||
|
||||
|
||||
@ -1983,13 +1983,11 @@ TEST_F(ReshardingCoordinatorServiceTest, CoordinatorHonorsCriticalSectionTimeout
|
||||
ErrorCodes::ReshardingCriticalSectionTimeout);
|
||||
}
|
||||
|
||||
TEST_F(ReshardingCoordinatorServiceTest, FeatureFlagReshardingCloneNoRefreshSendsCloneCmd) {
|
||||
TEST_F(ReshardingCoordinatorServiceTest, ReshardingSendsCloneCmdNotRefresh) {
|
||||
const std::vector<CoordinatorStateEnum> states = {
|
||||
CoordinatorStateEnum::kPreparingToDonate,
|
||||
};
|
||||
|
||||
RAIIServerParameterControllerForTest noRefreshFeatureFlagController(
|
||||
"featureFlagReshardingCloneNoRefresh", true);
|
||||
auto pauseBeforeTellingRecipientsToClone =
|
||||
globalFailPointRegistry().find("reshardingPauseBeforeTellingRecipientsToClone");
|
||||
auto timesEnteredFailPoint =
|
||||
|
||||
@ -1215,9 +1215,6 @@ TEST_F(ReshardingDonorRecipientCommonInternalsTest, ClearReshardingFilteringMeta
|
||||
}
|
||||
|
||||
TEST_F(ReshardingDonorRecipientCommonTest, ProcessRecipientFieldsForCloningNoRefresh) {
|
||||
RAIIServerParameterControllerForTest noRefreshFeatureFlagController(
|
||||
"featureFlagReshardingCloneNoRefresh", true);
|
||||
|
||||
testProcessRecipientFields(kThisShard.getShardId() /* shardThatChunkExistsOn*/,
|
||||
kThisShard.getShardId() /* primaryShard */,
|
||||
boost::none /* performVerification */,
|
||||
@ -1226,9 +1223,6 @@ TEST_F(ReshardingDonorRecipientCommonTest, ProcessRecipientFieldsForCloningNoRef
|
||||
}
|
||||
|
||||
TEST_F(ReshardingDonorRecipientCommonTest, ProcessDonorFieldsRefreshCreatesEvenWithInitNoRefresh) {
|
||||
RAIIServerParameterControllerForTest initNoRefreshController(
|
||||
"featureFlagReshardingInitNoRefresh", true);
|
||||
|
||||
testProcessDonorFields(kThisShard.getShardId() /* shardThatChunkExistsOn*/,
|
||||
kOtherShard.getShardId() /* primaryShard */,
|
||||
boost::none /* performVerification */,
|
||||
|
||||
@ -1449,8 +1449,9 @@ protected:
|
||||
|
||||
void setupFeatureFlags(const TestOptions& testOptions) {
|
||||
_cloneNoRefreshController.reset();
|
||||
if (testOptions.driveCloneNoRefresh) {
|
||||
_cloneNoRefreshController.emplace("featureFlagReshardingCloneNoRefresh", true);
|
||||
if (!testOptions.driveCloneNoRefresh) {
|
||||
_cloneNoRefreshController.emplace("featureFlagReshardingCloneNoRefresh",
|
||||
/* enabled */ false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -128,7 +128,8 @@ feature_flags:
|
||||
mod_visibility: public
|
||||
description: "Feature flag to enable not using shard version refresh for resharding's clone phase."
|
||||
cpp_varname: gFeatureFlagReshardingCloneNoRefresh
|
||||
default: false
|
||||
default: true
|
||||
version: 9.0
|
||||
fcv_gated: true
|
||||
check_against_fcv: legacy_fcv_snapshot_only
|
||||
featureFlagReshardingInitNoRefresh:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user