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 2015/05/17 19:44:09 UTC

stratos git commit: Fix Autoscaler logic to avoid using requestsServedPerInstance for this release

Repository: stratos
Updated Branches:
  refs/heads/master de607f614 -> 19542cca6


Fix Autoscaler logic to avoid using requestsServedPerInstance for this release


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

Branch: refs/heads/master
Commit: 19542cca66f9e9deca6caa9b04ff349402dfa167
Parents: de607f6
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Sun May 17 23:14:01 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Sun May 17 23:14:01 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/rule/RuleTasksDelegator.java     | 22 +++++++-------------
 .../src/main/conf/drools/scaling.drl            |  2 +-
 2 files changed, 8 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/19542cca/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 0f5c301..fdc6b3e 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
@@ -61,25 +61,17 @@ public class RuleTasksDelegator {
     }
 
 
-    public int getNumberOfInstancesRequiredBasedOnRif(float rifPredictedValue, float requestsServedPerInstance, float
-            averageRequestsServedPerInstance, boolean arspiReset) {
+    public int getNumberOfInstancesRequiredBasedOnRif(float rifPredictedValue, float rifThreshold) {
 
+        if (rifThreshold != 0) {
 
-        float requestsInstanceCanHandle = requestsServedPerInstance;
-
-        if (arspiReset && averageRequestsServedPerInstance != 0) {
-            requestsInstanceCanHandle = averageRequestsServedPerInstance;
-
-        }
-        float numberOfInstances = 0;
-        if (requestsInstanceCanHandle != 0) {
-            numberOfInstances = rifPredictedValue / requestsInstanceCanHandle;
-            arspiReset = true;
-
+            float requiredNumberOfInstances = rifPredictedValue / rifThreshold;
+            return (int) Math.ceil(requiredNumberOfInstances);
         } else {
-            arspiReset = false;
+            log.error("Request in flight threshold is Zero");
+            return 0;
         }
-        return (int) Math.ceil(numberOfInstances);
+
     }
 
     public int getNumberOfInstancesRequiredBasedOnMemoryConsumption(float threshold, double predictedValue,

http://git-wip-us.apache.org/repos/asf/stratos/blob/19542cca/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
----------------------------------------------------------------------
diff --git a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
index 72530da..0ef3b82 100644
--- a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
@@ -92,7 +92,7 @@ dialect "mvel"
         averageRequestsServedPerInstance : Float() from  clusterInstanceContext.getAverageRequestsServedPerInstance()
 
         numberOfInstancesReuquiredBasedOnRif : Integer() from delegator.getNumberOfInstancesRequiredBasedOnRif(
-            rifPredictedValue, requestsServedPerInstance, averageRequestsServedPerInstance, arspiReset)
+            rifPredictedValue, rifThreshold)
         numberOfInstancesReuquiredBasedOnMemoryConsumption : Integer() from
             delegator.getNumberOfInstancesRequiredBasedOnMemoryConsumption(mcThreshold, mcPredictedValue, minInstancesCount,
             maxInstancesCount)