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 29 import org.thingsboard.server.gen.cluster.ClusterAPIProtos;
30 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 35 * @author Andrew Shvayka
... ... @@ -88,7 +84,17 @@ public class RpcManagerActor extends ContextAwareActor {
88 84
89 85 private void onMsg(RpcBroadcastMsg msg) {
90 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 98 pendingMsgs.values().forEach(queue -> queue.add(msg.getMsg()));
93 99 }
94 100
... ...