diff --git a/server/src/com/cloud/api/ApiServlet.java b/server/src/com/cloud/api/ApiServlet.java index 5620015508f..38d2823e96c 100755 --- a/server/src/com/cloud/api/ApiServlet.java +++ b/server/src/com/cloud/api/ApiServlet.java @@ -327,8 +327,10 @@ public class ApiServlet extends HttpServlet { if (s_logger.isTraceEnabled()) { s_logger.trace("exception writing response: " + ioex); } - } catch (Exception ex) { - s_logger.error("unknown exception writing api response", ex); + } catch (Exception ex) { + if (!(ex instanceof IllegalStateException)) { + s_logger.error("unknown exception writing api response", ex); + } } } diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index b5481fd0fa9..db08613af48 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2273,8 +2273,13 @@ public class NetworkManagerImpl implements NetworkManager, NetworkService, Manag } // remove all loadBalancer->VM mappings - _loadBalancerVMMapDao.remove(loadBalancerId); - + List lbVmMap = _loadBalancerVMMapDao.listByLoadBalancerId(loadBalancerId); + if (lbVmMap != null && !lbVmMap.isEmpty()) { + for (LoadBalancerVMMapVO lb : lbVmMap) { + _loadBalancerVMMapDao.remove(lb.getId()); + } + } + // Save and create the event String description; String type = EventTypes.EVENT_NET_RULE_DELETE; diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 21e9d48f62c..c744550b2b7 100755 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -1032,7 +1032,11 @@ public class StorageManagerImpl implements StorageManager { if (poolId != null && volumePath != null && !volumePath.trim().isEmpty()) { Answer answer = null; StoragePoolVO pool = _storagePoolDao.findById(poolId); - final DestroyCommand cmd = new DestroyCommand(pool, vol, vm.getInstanceName()); + String vmName = null; + if (vm != null) { + vmName = vm.getInstanceName(); + } + final DestroyCommand cmd = new DestroyCommand(pool, vol, vmName); boolean removed = false; List poolhosts = _storagePoolHostDao.listByPoolId(poolId); for (StoragePoolHostVO poolhost : poolhosts) {