You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by la...@apache.org on 2014/12/09 16:32:16 UTC

[2/3] stratos git commit: Fix instances calculation issue

Fix instances calculation issue


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

Branch: refs/heads/4.1.0-test
Commit: b0d1acabc4050cb5c4df48576aa1f0fe494a4f84
Parents: 43875da
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Dec 9 21:02:51 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Dec 9 21:03:32 2014 +0530

----------------------------------------------------------------------
 .../stratos/autoscaler/rule/RuleTasksDelegator.java      | 11 ++++++-----
 1 file changed, 6 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/b0d1acab/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
index b1260bc..2b42139 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java
@@ -92,9 +92,10 @@ public class RuleTasksDelegator {
     }
 
     public int getNumberOfInstancesRequiredBasedOnLoadAndMemoryConsumption(float upperLimit, float lowerLimit, double predictedValue, int activeMemberCount) {
-
-        double numberOfInstances = (activeMemberCount * predictedValue) / upperLimit;
-
+        double numberOfInstances = 0;
+        if(upperLimit != 0) {
+            numberOfInstances = (activeMemberCount * predictedValue) / upperLimit;
+        }
         return (int) Math.ceil(numberOfInstances);
     }
 
@@ -108,10 +109,10 @@ public class RuleTasksDelegator {
             rifBasedRequiredInstances = numberOfInstancesReuquiredBasedOnRif;
         }
         if (mcReset) {
-            rifBasedRequiredInstances = numberOfInstancesReuquiredBasedOnMemoryConsumption;
+            mcBasedRequiredInstances = numberOfInstancesReuquiredBasedOnMemoryConsumption;
         }
         if (laReset) {
-            rifBasedRequiredInstances = numberOfInstancesReuquiredBasedOnLoadAverage;
+            laBasedRequiredInstances = numberOfInstancesReuquiredBasedOnLoadAverage;
         }
         numberOfInstances = Math.max(Math.max(numberOfInstancesReuquiredBasedOnMemoryConsumption, numberOfInstancesReuquiredBasedOnLoadAverage), numberOfInstancesReuquiredBasedOnRif);
         return numberOfInstances;