Handle MastershipEvent sending null #master()
Change-Id: I2243caaf472ec412864557a2c226273227a65f3a
diff --git a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
index eec4e75..425adca 100644
--- a/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
+++ b/core/net/src/main/java/org/onlab/onos/net/device/impl/DeviceManager.java
@@ -18,6 +18,7 @@
import org.onlab.onos.cluster.MastershipService;
import org.onlab.onos.cluster.MastershipTermService;
import org.onlab.onos.cluster.MastershipTerm;
+import org.onlab.onos.cluster.NodeId;
import org.onlab.onos.event.AbstractListenerRegistry;
import org.onlab.onos.event.EventDeliveryService;
import org.onlab.onos.net.Device;
@@ -322,12 +323,13 @@
implements MastershipListener {
@Override
public void event(MastershipEvent event) {
- if (event.master().equals(clusterService.getLocalNode().id())) {
+ final NodeId myNodeId = clusterService.getLocalNode().id();
+ if (myNodeId.equals(event.master())) {
MastershipTerm term = mastershipService.requestTermService()
.getMastershipTerm(event.subject());
- if (term.master().equals(clusterService.getLocalNode().id())) {
+ if (term.master().equals(myNodeId)) {
// only set the new term if I am the master
clockProviderService.setMastershipTerm(event.subject(), term);
}