This is an automated email from the ASF dual-hosted git repository.
yongzao pushed a commit to branch mark-unknown-when-broken-pipe
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/mark-unknown-when-broken-pipe
by this push:
new ac17e8dba42 Finish
ac17e8dba42 is described below
commit ac17e8dba42d2b25c334a5537d164193a98ae6ca
Author: YongzaoDan <[email protected]>
AuthorDate: Thu Oct 26 23:23:00 2023 +0800
Finish
---
.../async/handlers/heartbeat/ConfigNodeHeartbeatHandler.java | 10 +++++++++-
.../async/handlers/heartbeat/DataNodeHeartbeatHandler.java | 8 +++++++-
2 files changed, 16 insertions(+), 2 deletions(-)
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/ConfigNodeHeartbeatHandler.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/ConfigNodeHeartbeatHandler.java
index 9d7e11b23b8..596f55c2a8d 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/ConfigNodeHeartbeatHandler.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/ConfigNodeHeartbeatHandler.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.confignode.client.async.handlers.heartbeat;
+import org.apache.iotdb.commons.client.ThriftClient;
+import org.apache.iotdb.commons.cluster.NodeStatus;
+import org.apache.iotdb.commons.cluster.NodeType;
import org.apache.iotdb.confignode.manager.load.cache.LoadCache;
import org.apache.iotdb.confignode.manager.load.cache.node.NodeHeartbeatSample;
@@ -42,6 +45,11 @@ public class ConfigNodeHeartbeatHandler implements
AsyncMethodCallback<Long> {
@Override
public void onError(Exception e) {
- // Do nothing
+ if (ThriftClient.isConnectionBroken(e)) {
+ cache.forceUpdateNodeCache(
+ NodeType.ConfigNode,
+ nodeId,
+ NodeHeartbeatSample.generateDefaultSample(NodeStatus.Unknown));
+ }
}
}
diff --git
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/DataNodeHeartbeatHandler.java
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/DataNodeHeartbeatHandler.java
index d054478d877..33ae5ca3835 100644
---
a/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/DataNodeHeartbeatHandler.java
+++
b/iotdb-core/confignode/src/main/java/org/apache/iotdb/confignode/client/async/handlers/heartbeat/DataNodeHeartbeatHandler.java
@@ -19,6 +19,9 @@
package org.apache.iotdb.confignode.client.async.handlers.heartbeat;
+import org.apache.iotdb.commons.client.ThriftClient;
+import org.apache.iotdb.commons.cluster.NodeStatus;
+import org.apache.iotdb.commons.cluster.NodeType;
import org.apache.iotdb.commons.cluster.RegionStatus;
import org.apache.iotdb.confignode.manager.load.cache.LoadCache;
import org.apache.iotdb.confignode.manager.load.cache.node.NodeHeartbeatSample;
@@ -121,6 +124,9 @@ public class DataNodeHeartbeatHandler implements
AsyncMethodCallback<THeartbeatR
@Override
public void onError(Exception e) {
- // Do nothing
+ if (ThriftClient.isConnectionBroken(e)) {
+ loadCache.forceUpdateNodeCache(
+ NodeType.DataNode, nodeId,
NodeHeartbeatSample.generateDefaultSample(NodeStatus.Unknown));
+ }
}
}