Commit d32cc45093cb47cd7e4835f9880bcdd39f16922c

Authored by Andrew Shvayka
Committed by GitHub
2 parents 60046e83 5f258b95

Merge pull request #919 from janbols/master

RpcBroadcastMsg never arrives at other cluster nodes
@@ -29,11 +29,7 @@ import org.thingsboard.server.common.msg.cluster.ServerAddress; @@ -29,11 +29,7 @@ import org.thingsboard.server.common.msg.cluster.ServerAddress;
29 import org.thingsboard.server.gen.cluster.ClusterAPIProtos; 29 import org.thingsboard.server.gen.cluster.ClusterAPIProtos;
30 import org.thingsboard.server.service.cluster.discovery.ServerInstance; 30 import org.thingsboard.server.service.cluster.discovery.ServerInstance;
31 31
32 -import java.util.HashMap;  
33 -import java.util.LinkedList;  
34 -import java.util.Map;  
35 -import java.util.Queue;  
36 -import java.util.UUID; 32 +import java.util.*;
37 33
38 /** 34 /**
39 * @author Andrew Shvayka 35 * @author Andrew Shvayka
@@ -88,7 +84,17 @@ public class RpcManagerActor extends ContextAwareActor { @@ -88,7 +84,17 @@ public class RpcManagerActor extends ContextAwareActor {
88 84
89 private void onMsg(RpcBroadcastMsg msg) { 85 private void onMsg(RpcBroadcastMsg msg) {
90 log.debug("Forwarding msg to session actors {}", msg); 86 log.debug("Forwarding msg to session actors {}", msg);
91 - sessionActors.keySet().forEach(address -> onMsg(msg.getMsg())); 87 + sessionActors.keySet().forEach(address -> {
  88 + ClusterAPIProtos.ClusterMessage msgWithServerAddress = msg.getMsg()
  89 + .toBuilder()
  90 + .setServerAddress(ClusterAPIProtos.ServerAddress
  91 + .newBuilder()
  92 + .setHost(address.getHost())
  93 + .setPort(address.getPort())
  94 + .build())
  95 + .build();
  96 + onMsg(msgWithServerAddress);
  97 + });
92 pendingMsgs.values().forEach(queue -> queue.add(msg.getMsg())); 98 pendingMsgs.values().forEach(queue -> queue.add(msg.getMsg()));
93 } 99 }
94 100