Throwing IOException to match Service definition
Change-Id: Id6455fb8277822d3e5cfc87db76174044cbab69d
diff --git a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java
index 1b11873..352328b 100644
--- a/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java
+++ b/core/store/dist/src/main/java/org/onlab/onos/store/cluster/messaging/impl/ClusterCommunicationManager.java
@@ -92,7 +92,7 @@
}
@Override
- public boolean broadcast(ClusterMessage message) {
+ public boolean broadcast(ClusterMessage message) throws IOException {
boolean ok = true;
for (ControllerNode node : clusterService.getNodes()) {
if (!node.equals(localNode)) {
@@ -103,7 +103,7 @@
}
@Override
- public boolean multicast(ClusterMessage message, Set<NodeId> nodes) {
+ public boolean multicast(ClusterMessage message, Set<NodeId> nodes) throws IOException {
boolean ok = true;
for (NodeId nodeId : nodes) {
if (!nodeId.equals(localNode.id())) {
@@ -114,7 +114,7 @@
}
@Override
- public boolean unicast(ClusterMessage message, NodeId toNodeId) {
+ public boolean unicast(ClusterMessage message, NodeId toNodeId) throws IOException {
ControllerNode node = clusterService.getNode(toNodeId);
checkArgument(node != null, "Unknown nodeId: %s", toNodeId);
Endpoint nodeEp = new Endpoint(node.ip().toString(), node.tcpPort());
@@ -124,9 +124,8 @@
return true;
} catch (IOException e) {
log.error("Failed to send cluster message to nodeId: " + toNodeId, e);
+ throw e;
}
-
- return false;
}
@Override
@@ -151,10 +150,10 @@
@Override
public void removeNode(ControllerNode node) {
- broadcast(new ClusterMessage(
- localNode.id(),
- new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"),
- SERIALIZER.encode(new ClusterMembershipEvent(ClusterMembershipEventType.LEAVING_MEMBER, node))));
+// broadcast(new ClusterMessage(
+// localNode.id(),
+// new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"),
+// SERIALIZER.encode(new ClusterMembershipEvent(ClusterMembershipEventType.LEAVING_MEMBER, node))));
//members.remove(node.id());
}
@@ -163,10 +162,14 @@
@Override
public void run() {
- broadcast(new ClusterMessage(
- localNode.id(),
- new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"),
- SERIALIZER.encode(new ClusterMembershipEvent(ClusterMembershipEventType.HEART_BEAT, localNode))));
+ try {
+ broadcast(new ClusterMessage(
+ localNode.id(),
+ new MessageSubject("CLUSTER_MEMBERSHIP_EVENT"),
+ SERIALIZER.encode(new ClusterMembershipEvent(ClusterMembershipEventType.HEART_BEAT, localNode))));
+ } catch (IOException e) {
+ log.warn("I/O error while broadcasting heart beats.", e);
+ }
}
}