diff --git a/application/src/main/java/org/thingsboard/server/service/cluster/rpc/GrpcSession.java b/application/src/main/java/org/thingsboard/server/service/cluster/rpc/GrpcSession.java
index b5deda2edd..55b83e8ad9 100644
--- a/application/src/main/java/org/thingsboard/server/service/cluster/rpc/GrpcSession.java
+++ b/application/src/main/java/org/thingsboard/server/service/cluster/rpc/GrpcSession.java
@@ -95,15 +95,24 @@ public final class GrpcSession implements Closeable {
}
public void sendMsg(ClusterAPIProtos.ClusterMessage msg) {
- outputStream.onNext(msg);
- }
-
- public void onError(Throwable t) {
- outputStream.onError(t);
+ if (connected) {
+ try {
+ outputStream.onNext(msg);
+ } catch (Throwable t) {
+ try {
+ outputStream.onError(t);
+ } catch (Throwable t2) {
+ }
+ listener.onError(GrpcSession.this, t);
+ }
+ } else {
+ log.warn("[{}] Failed to send message due to closed session!", sessionId);
+ }
}
@Override
public void close() {
+ connected = false;
try {
outputStream.onCompleted();
} catch (IllegalStateException e) {
diff --git a/pom.xml b/pom.xml
index 59cc98aef0..67a2eef187 100755
--- a/pom.xml
+++ b/pom.xml
@@ -61,10 +61,10 @@
1.4.3
4.2.0
3.6.1
- 1.16.1
+ 1.19.0
1.16.18
1.1.0
- 4.1.30.Final
+ 4.1.34.Final
1.5.0
4.8.0
2.19.1