Skip to content

Support safe removal of multiple cluster nodes - #18315

Open
CRZbulabula wants to merge 1 commit into
apache:masterfrom
CRZbulabula:codex/support-safe-multi-node-removal
Open

Support safe removal of multiple cluster nodes#18315
CRZbulabula wants to merge 1 commit into
apache:masterfrom
CRZbulabula:codex/support-safe-multi-node-removal

Conversation

@CRZbulabula

Copy link
Copy Markdown
Contributor

Summary

  • Validate DataNode removals per affected RegionGroup: removed replicas must be less than the replica count for weak-consistency protocols, while twice the removed replica count must be less than the replica count for Ratis.
  • Migrate at most one replica per RegionGroup in each round, allowing one multi-DataNode request to complete whenever the safety thresholds are satisfied.
  • Apply the same safety rule to ConfigNodeGroup removals while accounting for queued and in-progress removals and rejecting duplicate requests.
  • Add localized diagnostics plus focused unit and integration coverage.

Testing

  • mvn test -pl iotdb-core/confignode -Dtest=NodeRemovalSafetyTest,RemoveDataNodesProcedureTest,RemoveConfigNodeProcedureTest,ProcedureManagerTest
  • mvn verify -DskipUTs -Dit.test=IoTDBRemoveDataNodeNormalIT#success1C5DRemoveTwoDataNodesSharingRegionUseTableSQL -DfailIfNoTests=false -Dfailsafe.failIfNoSpecifiedTests=false -pl integration-test -am -PClusterIT -P with-integration-tests
  • mvn verify -DskipUTs -Dit.test=IoTDBRemoveConfigNodeNormalIT#testRejectRemovingOneOfTwoConfigNodes -DfailIfNoTests=false -Dfailsafe.failIfNoSpecifiedTests=false -pl integration-test -am -PClusterIT -P with-integration-tests
  • mvn test-compile -DskipTests
  • mvn test-compile -P with-zh-locale -DskipTests

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant