Omer Frenkel has uploaded a new change for review. Change subject: core: fix NPE on add vm template ctor ......................................................................
core: fix NPE on add vm template ctor AddVmTemplateCommand ctor is using masterVm from parameters, without checking for null, this can happen when command is created during backend recovery - so added a null check. this is ok because the parameter is not needed in end action. in addition the 'isVmInDb' member initialized on endAction in order unlockVm will be called if source vm is in db. Change-Id: I9b870a89c337a47110aaa7d20d027ad8ef06cfe8 Bug-Url: https://bugzilla.redhat.com/994860 Signed-off-by: Omer Frenkel <ofren...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java 1 file changed, 4 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/44/18144/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java index e823b15..c6fc154 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/AddVmTemplateCommand.java @@ -8,6 +8,7 @@ import java.util.List; import java.util.Map; import java.util.Set; + import org.apache.commons.lang.StringUtils; import org.ovirt.engine.core.bll.quota.QuotaConsumptionParameter; import org.ovirt.engine.core.bll.quota.QuotaSanityParameter; @@ -105,7 +106,7 @@ updateVmDisks(); setStoragePoolId(getVm().getStoragePoolId()); isVmInDb = true; - } else if (getVdsGroup() != null) { + } else if (getVdsGroup() != null && parameterMasterVm != null) { VM vm = new VM(parameterMasterVm, new VmDynamic(), null); vm.setDisplayType(parameterMasterVm.getDefaultDisplayType()); vm.setVdsGroupCompatibilityVersion(getVdsGroup().getcompatibility_version()); @@ -475,6 +476,8 @@ protected void endSuccessfully() { setVmTemplateId(getParameters().getVmTemplateId()); setVmId(getVmIdFromImageParameters()); + isVmInDb = getVm() != null; + getVmStaticDAO().incrementDbGeneration(getVmTemplateId()); for (VdcActionParametersBase p : getParameters().getImagesParameters()) { Backend.getInstance().EndAction(VdcActionType.CreateImageTemplate, p); -- To view, visit http://gerrit.ovirt.org/18144 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I9b870a89c337a47110aaa7d20d027ad8ef06cfe8 Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: Omer Frenkel <ofren...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches