Look for null pointer on account id before trying to update usage when releasing an IP. This seems to be possible if expunge fails at some point after freeing an IP, on subsequent expunge tries the IP is freed already and gets null pointer when looking for account id.
BUG-ID: CLOUDSTACK-2279 Bugfix-for: 4.1,4.2 Signed-off-by: Marcus Sorensen <mar...@betterservers.com> 1367251304 -0600 Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/a0dbf890 Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/a0dbf890 Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/a0dbf890 Branch: refs/heads/internallb Commit: a0dbf8909058dba202c057f5b9d589026399c6ef Parents: 8545e68 Author: Marcus Sorensen <mar...@betterservers.com> Authored: Mon Apr 29 10:01:44 2013 -0600 Committer: Marcus Sorensen <mar...@betterservers.com> Committed: Mon Apr 29 10:01:44 2013 -0600 ---------------------------------------------------------------------- .../src/com/cloud/network/NetworkManagerImpl.java | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/a0dbf890/server/src/com/cloud/network/NetworkManagerImpl.java ---------------------------------------------------------------------- diff --git a/server/src/com/cloud/network/NetworkManagerImpl.java b/server/src/com/cloud/network/NetworkManagerImpl.java index 7adcf07..4a8b38f 100755 --- a/server/src/com/cloud/network/NetworkManagerImpl.java +++ b/server/src/com/cloud/network/NetworkManagerImpl.java @@ -2886,7 +2886,7 @@ public class NetworkManagerImpl extends ManagerBase implements NetworkManager, L } // Save usage event - if (ip.getAllocatedToAccountId() != Account.ACCOUNT_ID_SYSTEM) { + if (ip.getAllocatedToAccountId() != null && ip.getAllocatedToAccountId() != Account.ACCOUNT_ID_SYSTEM) { VlanVO vlan = _vlanDao.findById(ip.getVlanId()); String guestType = vlan.getVlanType().toString();