From c2d0420c977257ba90da6abde85ea1558f8b778d Mon Sep 17 00:00:00 2001 From: anthony Date: Wed, 5 Jan 2011 18:29:35 -0800 Subject: [PATCH] bug 7882: if destroyVolume is called from listener, there is no UserContext, then cause NPE, add more check here status 7882: resolved fixed --- .../src/com/cloud/storage/StorageManagerImpl.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/server/src/com/cloud/storage/StorageManagerImpl.java b/server/src/com/cloud/storage/StorageManagerImpl.java index 9f9fef70cf8..3101e45f25b 100644 --- a/server/src/com/cloud/storage/StorageManagerImpl.java +++ b/server/src/com/cloud/storage/StorageManagerImpl.java @@ -1562,14 +1562,15 @@ public class StorageManagerImpl implements StorageManager { public void destroyVolume(VolumeVO volume) { Transaction txn = Transaction.currentTxn(); txn.start(); - Long volumeId = volume.getId(); - _volsDao.destroyVolume(volumeId); - + _volsDao.destroyVolume(volumeId); String eventParams = "id=" + volumeId; - Long userId = UserContext.current().getUserId(); - if (userId == null) { - userId = 1L; + Long userId = 1L; + if ( UserContext.current() != null ) { + userId = UserContext.current().getUserId(); + if (userId == 0) { + userId = 1L; + } } EventVO event = new EventVO(); event.setAccountId(volume.getAccountId());