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();
    }
  
    /**

Reply via email to