Bug 7124 - legacy netvirt: null pointer exception in SouthboundHandler 43/48143/2
authorIsaku Yamahata <isaku.yamahata@intel.com>
Tue, 8 Nov 2016 00:35:40 +0000 (16:35 -0800)
committerSam Hague <shague@redhat.com>
Fri, 11 Nov 2016 21:00:56 +0000 (21:00 +0000)
This patch avoids null pointer exception as follows.
With openstack tempest CI, the following exception occurs.

> java.lang.NullPointerException
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandlercd.processPortDelete(SouthboundHandler.java:184)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processPortEvent(SouthboundHandler.java:332)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.SouthboundHandler.processEvent(SouthboundHandler.java:274)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.dispatchEvent(EventDispatcherImpl.java:96)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at org.opendaylight.netvirt.openstack.netvirt.impl.EventDispatcherImpl.lambda$start$0(EventDispatcherImpl.java:58)[289:org.opendaylight.netvirt.openstack.net-virt:1.3.1.SNAPSHOT]
>         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)[:1.8.0_111]
>         at java.util.concurrent.FutureTask.run(FutureTask.java:266)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[:1.8.0_111]
>         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)[:1.8.0_111]
>         at java.lang.Thread.run(Thread.java:745)[:1.8.0_111]

Change-Id: I8549fb799ac0ae797f4b84dc8d910ef02b65a0ad
Signed-off-by: Isaku Yamahata <isaku.yamahata@intel.com>
openstack/net-virt/src/main/java/org/opendaylight/netvirt/openstack/netvirt/SouthboundHandler.java

index 6be573db56b90477879dff981ce39d6317aa1b8b..00c2e4bcf459399596dc5938f41a22bf89cab9f7 100644 (file)
@@ -181,7 +181,7 @@ public class SouthboundHandler extends AbstractHandler
                                 String networkSegId = network.getProviderSegmentationID();
                                 // vxlan ports should not be removed in table 110 flow entry
                                 // unless last VM instance removed from the openstack node(Bug# 5813)
-                                if (neutronNetworkSegId.equals(networkSegId)) {
+                                if (neutronNetworkSegId != null && neutronNetworkSegId.equals(networkSegId)) {
                                     isLastInstanceOnNode = false;
                                     break;
                                 }