ofri masad has uploaded a new change for review. Change subject: core: Fix empty quota in audit mode - NPE ......................................................................
core: Fix empty quota in audit mode - NPE When Quota is empty in audit mode the QuotaManager reaches NPE. a mechanism for removing empty quota parameters from the consumption parameters list was added. Change-Id: Ie855ed5d5a259fa44b60cde25de75ae223239d0e Signed-off-by: Ofri Masad <oma...@redhat.com> --- M backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java 1 file changed, 7 insertions(+), 1 deletion(-) git pull ssh://gerrit.ovirt.org:29418/ovirt-engine refs/changes/95/9695/1 diff --git a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java index b2325b5..af30d7d 100644 --- a/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java +++ b/backend/manager/modules/bll/src/main/java/org/ovirt/engine/core/bll/quota/QuotaManager.java @@ -4,6 +4,7 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import java.util.ArrayList; import java.util.concurrent.locks.ReentrantReadWriteLock; import org.ovirt.engine.core.common.AuditLogType; @@ -29,6 +30,7 @@ private static final HashMap<Guid, Map<Guid, Quota>> storagePoolQuotaMap = new HashMap<Guid, Map<Guid, Quota>>(); private static final QuotaManagerAuditLogger quotaManagerAuditLogger = new QuotaManagerAuditLogger(); + private List<QuotaConsumptionParameter> corruptedParameters = new ArrayList<QuotaConsumptionParameter>(); public static QuotaManager getInstance() { return INSTANCE; @@ -609,10 +611,12 @@ if (QuotaEnforcementTypeEnum.DISABLED == parameters.getAuditLogable().getStoragePool().getQuotaEnforcementType()) { auditLogPair.setFirst(null); } - return true; } } } + parameters.getParameters().removeAll(corruptedParameters); + corruptedParameters.clear(); + return true; } @@ -626,6 +630,7 @@ AuditLogType.MISSING_QUOTA_STORAGE_PARAMETERS_PERMISSIVE_MODE: AuditLogType.MISSING_QUOTA_CLUSTER_PARAMETERS_PERMISSIVE_MODE); log.errorFormat("No Quota id passed from command: {0}",parameters.getAuditLogable().getClass().getName()); + corruptedParameters.add(param); return false; } @@ -636,6 +641,7 @@ AuditLogType.MISSING_QUOTA_STORAGE_PARAMETERS_PERMISSIVE_MODE: AuditLogType.MISSING_QUOTA_CLUSTER_PARAMETERS_PERMISSIVE_MODE); log.errorFormat("The quota id {0} is not found in backend and DB.", param.getQuotaGuid().toString()); + corruptedParameters.add(param); return false; } else { param.setQuota(quota); -- To view, visit http://gerrit.ovirt.org/9695 To unsubscribe, visit http://gerrit.ovirt.org/settings Gerrit-MessageType: newchange Gerrit-Change-Id: Ie855ed5d5a259fa44b60cde25de75ae223239d0e Gerrit-PatchSet: 1 Gerrit-Project: ovirt-engine Gerrit-Branch: master Gerrit-Owner: ofri masad <oma...@redhat.com> _______________________________________________ Engine-patches mailing list Engine-patches@ovirt.org http://lists.ovirt.org/mailman/listinfo/engine-patches