Madan Jampani

Broadcast shouldn't give up before attempting to unicast to every memeber

......@@ -103,7 +103,7 @@ public class ClusterCommunicationManager
final ControllerNode localNode = clusterService.getLocalNode();
for (NodeId nodeId : nodes) {
if (!nodeId.equals(localNode.id())) {
ok = unicast(message, nodeId) && ok;
ok = unicastUnchecked(message, nodeId) && ok;
}
}
return ok;
......@@ -124,6 +124,14 @@ public class ClusterCommunicationManager
}
}
private boolean unicastUnchecked(ClusterMessage message, NodeId toNodeId) throws IOException {
try {
return unicast(message, toNodeId);
} catch (IOException e) {
return false;
}
}
@Override
public ClusterMessageResponse sendAndReceive(ClusterMessage message, NodeId toNodeId) throws IOException {
ControllerNode node = clusterService.getNode(toNodeId);
......