This is an automated email from the ASF dual-hosted git repository. yongzao pushed a commit to branch addlogicalclockinterface in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit d44616cdef4bdfbdb4f1bd076865ea5177db5969 Merge: 9bec1206ef2 f52d752bf84 Author: YongzaoDan <[email protected]> AuthorDate: Fri Apr 12 22:19:09 2024 +0800 Merge branch 'master' into addlogicalclockinterface .../iotdb/it/env/cluster/env/AbstractEnv.java | 29 +- .../it/env/cluster/node/AbstractNodeWrapper.java | 5 + .../apache/iotdb/itbase/env/BaseNodeWrapper.java | 2 + ...IoTDBRegionMigrateDataNodeCrashITFramework.java | 15 +- .../IoTDBRegionMigrateReliabilityITFramework.java | 412 +++++++++---- .../it/regionmigration/KillPointContext.java | 22 +- .../pass/IoTDBRegionMigrateClusterCrashIT.java | 68 +++ .../pass/IoTDBRegionMigrateConfigNodeCrashIT.java | 92 ++- .../pass/IoTDBRegionMigrateNormalIT.java | 8 +- .../pass/IoTDBRegionMigrateOtherIT.java | 9 +- ...ateCoordinatorCrashWhenRemoveRemotePeerIT.java} | 24 +- .../IoTDBRegionMigrateDataNodeCrashIT.java | 59 +- ...MigrateOriginalCrashWhenDeleteLocalPeerIT.java} | 19 +- ...igrateOriginalCrashWhenRemoveRemotePeerIT.java} | 19 +- .../apache/iotdb/rpc/TElasticFramedTransport.java | 3 +- .../client/async/AsyncDataNodeClientPool.java | 7 + .../client/async/handlers/AsyncClientHandler.java | 1 + .../iotdb/confignode/manager/ProcedureManager.java | 9 +- .../iotdb/confignode/procedure/Procedure.java | 15 - .../procedure/env/RegionMaintainHandler.java | 79 ++- .../procedure/impl/StateMachineProcedure.java | 18 + .../impl/region/AddRegionPeerProcedure.java | 91 ++- .../impl/region/RemoveRegionPeerProcedure.java | 23 +- .../testonly/CreateManyDatabasesProcedure.java | 10 +- iotdb-core/consensus/pom.xml | 4 + .../org/apache/iotdb/consensus/IConsensus.java | 19 + .../consensus/exception/ConsensusException.java | 4 + .../apache/iotdb/consensus/iot/IoTConsensus.java | 91 ++- .../consensus/iot/IoTConsensusServerImpl.java | 130 +++-- .../service/IoTConsensusRPCServiceProcessor.java | 8 +- .../iotdb/consensus/ratis/RatisConsensus.java | 37 +- .../iotdb/consensus/simple/SimpleConsensus.java | 11 + .../apache/iotdb/consensus/iot/ReplicateTest.java | 21 + .../apache/iotdb/consensus/iot/StabilityTest.java | 12 +- .../iotdb/consensus/ratis/RatisConsensusTest.java | 19 + .../dataregion/DataRegionStateMachine.java | 15 +- .../java/org/apache/iotdb/db/service/DataNode.java | 69 +-- .../iotdb/db/service/RegionMigrateService.java | 7 +- .../dataregion/snapshot/SnapshotLoader.java | 6 - .../src/assembly/resources/sbin/health_check.bat | 641 +++++++++++++++++++++ .../src/assembly/resources/sbin/health_check.sh | 388 +++++++++++++ ... => IoTConsensusDeleteLocalPeerKillPoints.java} | 8 +- ...a => IoTConsensusInactivatePeerKillPoints.java} | 8 +- ...TConsensusRemovePeerCoordinatorKillPoints.java} | 2 +- ...nsusRemovePeerKillPoints.java => KillNode.java} | 11 +- .../src/main/thrift/iotconsensus.thrift | 1 + 46 files changed, 2141 insertions(+), 410 deletions(-) diff --cc iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java index 7ba1a5126ad,64282e0e3ff..6eb255c4c5d --- a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java +++ b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/RegionMaintainHandler.java @@@ -425,9 -435,18 +436,14 @@@ public class RegionMaintainHandler regionId, getIdWithRpcEndpoint(deprecatedLocation), status); + updateRegionLocation(regionId); + } + private void updateRegionLocation(TConsensusGroupId regionId) { // Remove the RegionGroupCache of the regionId configManager.getLoadManager().removeRegionGroupCache(regionId); - // force balance region leader to skip waiting for leader election - configManager.getLoadManager().forceBalanceRegionLeader(); + // Wait for leader election + configManager.getLoadManager().waitForLeaderElection(Collections.singletonList(regionId)); - // Broadcast the latest RegionRouteMap when Region migration finished - configManager.getLoadManager().broadcastLatestRegionRouteMap(); } /**
