From 9ab51c36befd1572d91b69266b93bf6d23615738 Mon Sep 17 00:00:00 2001 From: Diogo <diogo_572@hotmail.com> Date: Mon, 20 Feb 2017 23:43:07 +0000 Subject: [PATCH] Fix bug where it was impossible to remove member or pool if class above (pool for members and vip for pools) was removed before. --- .../net/floodlightcontroller/loadbalancer/LoadBalancer.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/net/floodlightcontroller/loadbalancer/LoadBalancer.java b/src/main/java/net/floodlightcontroller/loadbalancer/LoadBalancer.java index c42f7fb60..de0dbc10c 100644 --- a/src/main/java/net/floodlightcontroller/loadbalancer/LoadBalancer.java +++ b/src/main/java/net/floodlightcontroller/loadbalancer/LoadBalancer.java @@ -687,7 +687,7 @@ public class LoadBalancer implements IFloodlightModule, pool = pools.get(poolId); if (pool == null) // fix dereference violations return -1; - if (pool.vipId != null) + if (pool.vipId != null && vips.containsKey(pool.vipId)) vips.get(pool.vipId).pools.remove(poolId); pools.remove(poolId); return 0; @@ -750,7 +750,7 @@ public class LoadBalancer implements IFloodlightModule, member = members.get(memberId); if(member != null){ - if (member.poolId != null) + if (member.poolId != null && pools.containsKey(member.poolId)) pools.get(member.poolId).members.remove(memberId); members.remove(memberId); return 0; -- GitLab