Fix NPE in operational Bridge remove. 90/19190/1
authorSharad Mishra <sharad.d.mishra@intel.com>
Mon, 27 Apr 2015 19:00:41 +0000 (12:00 -0700)
committerSharad Mishra <sharad.d.mishra@intel.com>
Mon, 27 Apr 2015 19:03:56 +0000 (12:03 -0700)
To Recreate -

1. Run 'ovs-vsctl add-br br0'
2. Verify that bridge is added.
3. Run 'ovs-vsctl del-br br0'
4. The logs show NPE and br0 is not removed from operational/ovsdb.

Change-Id: I742a0661e97521047ee1c16c2b0a45e3a2a1f1cd
Signed-off-by: Sharad Mishra <sharad.d.mishra@intel.com>
southbound/southbound-impl/src/main/java/org/opendaylight/ovsdb/southbound/transactions/md/OvsdbPortRemoveCommand.java

index 2279fa0a0056b3db28ab22fd29c85f932fbaf1ca..a18b482bad6ef01a150ccf44638fefa76f184fe7 100644 (file)
@@ -50,7 +50,8 @@ public class OvsdbPortRemoveCommand extends AbstractTransactionCommand {
         for (Port port : portRemovedRows) {
             for (UUID bridgeUUID : bridgeUpdatedOldRows.keySet()) {
                 Bridge oldBridgeData = bridgeUpdatedOldRows.get(bridgeUUID);
-                if (oldBridgeData.getPortsColumn().getData().contains(port.getUuidColumn().getData())) {
+                if (oldBridgeData.getPortsColumn().getData().contains(port.getUuidColumn().getData())
+                        && (! bridgeUpdatedRows.isEmpty())) {
                     Bridge updatedBridgeData = bridgeUpdatedRows.get(bridgeUUID);
                     bridgeName = updatedBridgeData.getName();
                     break;