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

Reply via email to