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

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


The following commit(s) were added to refs/heads/master by this push:
     new 343f84697e finish (#6669)
343f84697e is described below

commit 343f84697e9b971d86586dd142109b5b3c30613a
Author: YongzaoDan <[email protected]>
AuthorDate: Thu Jul 14 10:27:43 2022 +0800

    finish (#6669)
---
 .../iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java   | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
index ce799864a6..fbca007f5c 100644
--- 
a/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
+++ 
b/confignode/src/main/java/org/apache/iotdb/confignode/manager/load/heartbeat/RegionGroupCache.java
@@ -68,6 +68,7 @@ public class RegionGroupCache implements IRegionGroupCache {
   public boolean updateLoadStatistic() {
     long updateVersion = Long.MIN_VALUE;
     int updateLeaderDataNodeId = -1;
+    int originLeaderDataNodeId = leaderDataNodeId.get();
 
     synchronized (slidingWindow) {
       for (LinkedList<RegionHeartbeatSample> samples : slidingWindow.values()) 
{
@@ -82,11 +83,12 @@ public class RegionGroupCache implements IRegionGroupCache {
     }
 
     if (updateVersion > versionTimestamp.get()) {
+      // Only update when the leadership information is latest
       versionTimestamp.set(updateVersion);
       leaderDataNodeId.set(updateLeaderDataNodeId);
-      return true;
     }
-    return false;
+
+    return !(originLeaderDataNodeId == leaderDataNodeId.get());
   }
 
   @Override

Reply via email to