Fix NPE due to race condition during system vm launch.
Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/eb9cfffd Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/eb9cfffd Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/eb9cfffd Branch: refs/heads/rbac Commit: eb9cfffd246267bbb5fe4befeb9afeaaf366874a Parents: 5ccf3a9 Author: Min Chen <[email protected]> Authored: Mon Nov 4 14:26:42 2013 -0800 Committer: Min Chen <[email protected]> Committed: Mon Nov 4 14:27:04 2013 -0800 ---------------------------------------------------------------------- .../src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java | 1 + 1 file changed, 1 insertion(+) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/cloudstack/blob/eb9cfffd/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java ---------------------------------------------------------------------- diff --git a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java index 86e49f9..5818aa8 100644 --- a/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java +++ b/engine/storage/volume/src/org/apache/cloudstack/storage/volume/VolumeServiceImpl.java @@ -453,6 +453,7 @@ public class VolumeServiceImpl implements VolumeService { } catch (Throwable e) { s_logger.debug("failed to create template on storage", e); templateOnPrimaryStoreObj.processEvent(Event.OperationFailed); + dataStore.create(template); // make sure that template_spool_ref entry is still present so that the second thread can acquire the lock VolumeApiResult result = new VolumeApiResult(volume); result.setResult(e.toString()); future.complete(result);
