diff --git a/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java b/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java index 6232029a14..650fb89130 100644 --- a/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java +++ b/common/edge-api/src/main/java/org/thingsboard/edge/rpc/EdgeGrpcClient.java @@ -133,6 +133,11 @@ public class EdgeGrpcClient implements EdgeRpcClient { @Override public void onError(Throwable t) { log.debug("[{}] The rpc session received an error!", edgeKey, t); + try { + EdgeGrpcClient.this.disconnect(true); + } catch (InterruptedException e) { + log.error("[{}] Got interruption during disconnect!", edgeKey, e); + } onError.accept(new RuntimeException(t)); }