You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by bh...@apache.org on 2015/01/18 12:45:29 UTC

git commit: updated refs/heads/4.3 to fc5d8e9

Repository: cloudstack
Updated Branches:
  refs/heads/4.3 87d444b05 -> fc5d8e95b


CLOUDSTACK-8166: add boundary checks in various usage parsers

- Add boundary condition to continue looping if creation data is after end date
- Add null pointer fix for create snapshot bug

Signed-off-by: Rohit Yadav <ro...@shapeblue.com>
(cherry picked from commit 065c556cf5fe92dc6a4063538280e728c2719e51)
Signed-off-by: Rohit Yadav <ro...@shapeblue.com>


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/fc5d8e95
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/fc5d8e95
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/fc5d8e95

Branch: refs/heads/4.3
Commit: fc5d8e95bf155c21f0c1066e0181dcf03267027b
Parents: 87d444b
Author: Rohit Yadav <ro...@shapeblue.com>
Authored: Sun Jan 18 17:06:39 2015 +0530
Committer: Rohit Yadav <ro...@shapeblue.com>
Committed: Sun Jan 18 17:15:14 2015 +0530

----------------------------------------------------------------------
 usage/src/com/cloud/usage/UsageManagerImpl.java                 | 2 +-
 usage/src/com/cloud/usage/parser/IPAddressUsageParser.java      | 5 +++++
 usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java   | 4 ++++
 .../src/com/cloud/usage/parser/NetworkOfferingUsageParser.java  | 4 ++++
 usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java | 4 ++++
 usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java  | 4 ++++
 usage/src/com/cloud/usage/parser/StorageUsageParser.java        | 4 ++++
 usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java     | 4 ++++
 usage/src/com/cloud/usage/parser/VPNUserUsageParser.java        | 4 ++++
 usage/src/com/cloud/usage/parser/VolumeUsageParser.java         | 4 ++++
 10 files changed, 38 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/UsageManagerImpl.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/UsageManagerImpl.java b/usage/src/com/cloud/usage/UsageManagerImpl.java
index 117d00f..9840067 100644
--- a/usage/src/com/cloud/usage/UsageManagerImpl.java
+++ b/usage/src/com/cloud/usage/UsageManagerImpl.java
@@ -1671,7 +1671,7 @@ public class UsageManagerImpl extends ManagerBase implements UsageManager, Runna
         Long offeringId = event.getOfferingId();
         Long zoneId = event.getZoneId();
         Long accountId = event.getAccountId();
-        long size = event.getSize();
+        long size = event.getSize() == null ? 0L : event.getSize().longValue();
         Date created = event.getCreateDate();
         Account acct = m_accountDao.findByIdIncludingRemoved(event.getAccountId());
         Long domainId = acct.getDomainId();

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java b/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
index 0889203..33e3495 100644
--- a/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/IPAddressUsageParser.java
@@ -100,6 +100,11 @@ public class IPAddressUsageParser {
                 IpAssignDate = startDate;
             }
 
+            // ignore if assign date is after end date
+            if (IpAssignDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (IpReleaseDeleteDate.getTime() - IpAssignDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
             updateIpUsageData(usageMap, key, usageIp.getId(), currentDuration);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java b/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
index 84d0b32..0a59fae 100644
--- a/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/LoadBalancerUsageParser.java
@@ -96,6 +96,10 @@ public class LoadBalancerUsageParser {
                 lbCreateDate = startDate;
             }
 
+            if (lbCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (lbDeleteDate.getTime() - lbCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java b/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
index 21ad193..ada27bc 100644
--- a/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/NetworkOfferingUsageParser.java
@@ -97,6 +97,10 @@ public class NetworkOfferingUsageParser {
                 noCreateDate = startDate;
             }
 
+            if (noCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (noDeleteDate.getTime() - noCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java b/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
index 1f74bcf..bbcc223 100644
--- a/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/PortForwardingUsageParser.java
@@ -96,6 +96,10 @@ public class PortForwardingUsageParser {
                 pfCreateDate = startDate;
             }
 
+            if (pfCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (pfDeleteDate.getTime() - pfCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java b/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
index 25de883..02e5e2b 100644
--- a/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/SecurityGroupUsageParser.java
@@ -97,6 +97,10 @@ public class SecurityGroupUsageParser {
                 sgCreateDate = startDate;
             }
 
+            if (sgCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (sgDeleteDate.getTime() - sgCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/StorageUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/StorageUsageParser.java b/usage/src/com/cloud/usage/parser/StorageUsageParser.java
index 56c26e8..fb3762c 100644
--- a/usage/src/com/cloud/usage/parser/StorageUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/StorageUsageParser.java
@@ -105,6 +105,10 @@ public class StorageUsageParser {
                 storageCreateDate = startDate;
             }
 
+            if (storageCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (storageDeleteDate.getTime() - storageCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
             
             updateStorageUsageData(usageMap, key, usageStorage.getId(), currentDuration);

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java b/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
index 2072220..2565674 100644
--- a/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VMInstanceUsageParser.java
@@ -99,6 +99,10 @@ public class VMInstanceUsageParser {
                 vmStartDate = startDate;
             }
 
+            if (vmStartDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (vmEndDate.getTime() - vmStartDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
             switch (usageType) {

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java b/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
index 7afc97c..ed846dc 100644
--- a/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VPNUserUsageParser.java
@@ -92,6 +92,10 @@ public class VPNUserUsageParser {
                 vuCreateDate = startDate;
             }
 
+            if (vuCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (vuDeleteDate.getTime() - vuCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)
 
 

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/fc5d8e95/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
----------------------------------------------------------------------
diff --git a/usage/src/com/cloud/usage/parser/VolumeUsageParser.java b/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
index b6a12de..a487231 100644
--- a/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
+++ b/usage/src/com/cloud/usage/parser/VolumeUsageParser.java
@@ -101,6 +101,10 @@ public class VolumeUsageParser {
                 volCreateDate = startDate;
             }
 
+            if (volCreateDate.after(endDate)) {
+                continue;
+            }
+
             long currentDuration = (volDeleteDate.getTime() - volCreateDate.getTime()) + 1; // make sure this is an inclusive check for milliseconds (i.e. use n - m + 1 to find total number of millis to charge)