BUG 5195: Handle invalid NodeId gracefully 18/34018/1
authorVishal Thapar <vishal.thapar@ericsson.com>
Wed, 3 Feb 2016 18:46:32 +0000 (00:16 +0530)
committerVishal Thapar <vishal.thapar@ericsson.com>
Wed, 3 Feb 2016 19:01:11 +0000 (00:31 +0530)
DHCPService and ELanManager are getting DCN for a Node being added but it
is not in expected format. This leads to an OOBE. Handle it gracefully and
log WARN message with offending NodeId.

Change-Id: I143bea1530b7070c9fe8e359320b1f1a7c6aed6f
Signed-off-by: Vishal Thapar <vishal.thapar@ericsson.com>
dhcpservice/dhcpservice-impl/src/main/java/org/opendaylight/vpnservice/dhcpservice/NodeListener.java
elanmanager/elanmanager-impl/src/main/java/org/opendaylight/vpnservice/elan/internal/ElanNodeListener.java

index 8cb8a7addb432ccfc1d9a623e2f8faf89aceadb8..4ee50303d6ef04888d455e85ed6543e6aafbdde8 100644 (file)
@@ -72,6 +72,10 @@ public class NodeListener extends AbstractDataChangeListener<Node> implements Au
     protected void add(InstanceIdentifier<Node> identifier, Node add) {
         NodeId nodeId = add.getId();
         String[] node =  nodeId.getValue().split(":");
+        if(node.length < 2) {
+            LOG.warn("Unexpected nodeId {}", nodeId.getValue());
+            return;
+        }
         BigInteger dpId = new BigInteger(node[1]);
         dhcpManager.installDhcpEntries(dpId);
     }
index 05a808ce294eb9d08cb6029923dea77586757301..679d2c9ab57f7ac706fad22d8175f05520bbbfeb 100644 (file)
@@ -71,6 +71,10 @@ public class ElanNodeListener extends AbstractDataChangeListener<Node> {
     protected void add(InstanceIdentifier<Node> identifier, Node add) {
         NodeId nodeId = add.getId();
         String[] node =  nodeId.getValue().split(":");
+        if(node.length < 2) {
+            logger.warn("Unexpected nodeId {}", nodeId.getValue());
+            return;
+        }
         BigInteger dpId = new BigInteger(node[1]);
         createTableMissEntry(dpId);
     }