This is an automated email from the ASF dual-hosted git repository.

yongzao pushed a commit to branch ca_test
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/ca_test by this push:
     new 8003cff9e94 Update RegionStatus of Unknown DataNode when removing
8003cff9e94 is described below

commit 8003cff9e94b34ef317971ccbe9a6ba41207e631
Author: YongzaoDan <[email protected]>
AuthorDate: Tue Aug 15 17:37:53 2023 +0800

    Update RegionStatus of Unknown DataNode when removing
---
 .../manager/load/cache/region/RegionHeartbeatSample.java      |  5 +++++
 .../confignode/procedure/env/ConfigNodeProcedureEnv.java      | 11 +++++++++++
 2 files changed, 16 insertions(+)

diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/region/RegionHeartbeatSample.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/region/RegionHeartbeatSample.java
index e55497bc5f2..67c221fa706 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/region/RegionHeartbeatSample.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/cache/region/RegionHeartbeatSample.java
@@ -47,4 +47,9 @@ public class RegionHeartbeatSample {
   public RegionStatus getStatus() {
     return status;
   }
+
+  public static RegionHeartbeatSample generateDefaultSample(RegionStatus 
status) {
+    long currentTime = System.currentTimeMillis();
+    return new RegionHeartbeatSample(currentTime, currentTime, status);
+  }
 }
diff --git 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
index 371243bc197..ee5fcccd681 100644
--- 
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
+++ 
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/procedure/env/ConfigNodeProcedureEnv.java
@@ -401,6 +401,17 @@ public class ConfigNodeProcedureEnv {
             NodeType.DataNode,
             dataNodeLocation.getDataNodeId(),
             NodeHeartbeatSample.generateDefaultSample(NodeStatus.Removing));
+    // Force update RegionStatus to Removing
+    getPartitionManager()
+        .getAllReplicaSets(dataNodeLocation.getDataNodeId())
+        .forEach(
+            replicaSet ->
+                getLoadManager()
+                    .forceUpdateRegionGroupCache(
+                        replicaSet.getRegionId(),
+                        Collections.singletonMap(
+                            dataNodeLocation.getDataNodeId(),
+                            
RegionHeartbeatSample.generateDefaultSample(RegionStatus.Removing))));
   }
 
   /**

Reply via email to