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/03/17 07:17:14 UTC

[1/4] stratos git commit: Fix RuleTasksDelegator class logs and line limit exceeds

Repository: stratos
Updated Branches:
  refs/heads/master 66f173226 -> 8ad5fef24


Fix RuleTasksDelegator class logs and line limit exceeds


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

Branch: refs/heads/master
Commit: efe1f7914973ebfc49fc8ee576770c0bc64491c6
Parents: 66f1732
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Mar 17 11:20:47 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Mar 17 11:20:54 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/rule/RuleTasksDelegator.java     | 45 ++++++++++++--------
 1 file changed, 28 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/efe1f791/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 85bee11..a5571b9 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
@@ -65,7 +65,8 @@ public class RuleTasksDelegator {
     }
 
 
-    public int getNumberOfInstancesRequiredBasedOnRif(float rifPredictedValue, float requestsServedPerInstance, float averageRequestsServedPerInstance, boolean arspiReset) {
+    public int getNumberOfInstancesRequiredBasedOnRif(float rifPredictedValue, float requestsServedPerInstance, float
+            averageRequestsServedPerInstance, boolean arspiReset) {
 
 
         float requestsInstanceCanHandle = requestsServedPerInstance;
@@ -133,7 +134,8 @@ public class RuleTasksDelegator {
         if (laReset) {
             laBasedRequiredInstances = numberOfInstancesReuquiredBasedOnLoadAverage;
         }
-        numberOfInstances = Math.max(Math.max(numberOfInstancesRequiredBasedOnMemoryConsumption, numberOfInstancesReuquiredBasedOnLoadAverage), numberOfInstancesRequiredBasedOnRif);
+        numberOfInstances = Math.max(Math.max(numberOfInstancesRequiredBasedOnMemoryConsumption,
+                numberOfInstancesReuquiredBasedOnLoadAverage), numberOfInstancesRequiredBasedOnRif);
         return numberOfInstances;
     }
 
@@ -189,7 +191,8 @@ public class RuleTasksDelegator {
             int minimumCountOfNetworkPartition = 0;
             ClusterMonitor clusterMonitor = (ClusterMonitor) AutoscalerContext.getInstance().getClusterMonitor(clusterId);
             ClusterContext clusterContext = (ClusterContext) clusterMonitor.getClusterContext();
-            ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext = clusterContext.getNetworkPartitionCtxt(nwPartitionId);
+            ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext =
+                    clusterContext.getNetworkPartitionCtxt(nwPartitionId);
             ClusterInstanceContext clusterInstanceContext =
                     (ClusterInstanceContext) clusterLevelNetworkPartitionContext.
                             getInstanceContext(clusterInstanceId);
@@ -272,18 +275,20 @@ public class RuleTasksDelegator {
             //Moving member to pending termination list
             if (clusterMonitorPartitionContext.activeMemberAvailable(memberId)) {
 
-                log.info(String.format("[scale-down] Moving active member to termination pending list [member id] %s [partition] %s " +
-                                "[network partition] %s" , memberId, clusterMonitorPartitionContext.getPartitionId(),
+                log.info(String.format("[scale-down] Moving active member to termination pending list [member id] %s " +
+                                "[partition] %s [network partition] %s" , memberId,
+                        clusterMonitorPartitionContext.getPartitionId(),
                         clusterMonitorPartitionContext.getNetworkPartitionId()));
-                clusterMonitorPartitionContext.moveActiveMemberToTerminationPendingMembers(memberId);
-                clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
+                        clusterMonitorPartitionContext.moveActiveMemberToTerminationPendingMembers(memberId);
+                        clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
             } else if (clusterMonitorPartitionContext.pendingMemberAvailable(memberId)) {
 
-                log.info(String.format("[scale-down] Moving pending member to termination pending list [member id] %s [partition] %s " +
-                                "[network partition] %s" , memberId, clusterMonitorPartitionContext.getPartitionId(),
+                log.info(String.format("[scale-down] Moving pending member to termination pending list [member id] %s " +
+                                "[partition] %s [network partition] %s" , memberId,
+                        clusterMonitorPartitionContext.getPartitionId(),
                         clusterMonitorPartitionContext.getNetworkPartitionId()));
-                clusterMonitorPartitionContext.movePendingMemberToObsoleteMembers(memberId);
-                clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
+                        clusterMonitorPartitionContext.movePendingMemberToObsoleteMembers(memberId);
+                        clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
             }
         } catch (Exception e) {
             log.error("[scale-down] Cannot move member to termination pending list ", e);
@@ -345,10 +350,13 @@ public class RuleTasksDelegator {
                 float memberGredientLoadAverage = memberStatsContext.getLoadAverage().getGradient();
                 float memberSecondDerivativeLoadAverage = memberStatsContext.getLoadAverage().getSecondDerivative();
 
-                double memberPredictedLoadAverage = getPredictedValueForNextMinute(memberAverageLoadAverage, memberGredientLoadAverage, memberSecondDerivativeLoadAverage, 1);
-
-                log.debug("Member ID : " + memberStatsContext.getMemberId() + " : Predicted Load Average : " + memberPredictedLoadAverage);
+                double memberPredictedLoadAverage = getPredictedValueForNextMinute(memberAverageLoadAverage,
+                        memberGredientLoadAverage, memberSecondDerivativeLoadAverage, 1);
 
+                if(log.isDebugEnabled()) {
+                    log.debug(String.format("[member-id] $s [predicted load average] $s ", memberStatsContext.getMemberId()
+                            , memberPredictedLoadAverage));
+                }
                 loadAveragePredicted += memberPredictedLoadAverage;
                 ++totalMemberCount;
             }
@@ -372,10 +380,13 @@ public class RuleTasksDelegator {
                 float memberMemoryConsumptionGredient = memberStatsContext.getMemoryConsumption().getGradient();
                 float memberMemoryConsumptionSecondDerivative = memberStatsContext.getMemoryConsumption().getSecondDerivative();
 
-                double memberPredictedMemoryConsumption = getPredictedValueForNextMinute(memberMemoryConsumptionAverage, memberMemoryConsumptionGredient, memberMemoryConsumptionSecondDerivative, 1);
-
-                log.debug("Member ID : " + memberStatsContext.getMemberId() + " : Predicted Memory Consumption : " + memberPredictedMemoryConsumption);
+                double memberPredictedMemoryConsumption = getPredictedValueForNextMinute(memberMemoryConsumptionAverage,
+                        memberMemoryConsumptionGredient, memberMemoryConsumptionSecondDerivative, 1);
 
+                if(log.isDebugEnabled()) {
+                    log.debug(String.format("[member-id] $s [predicted memory consumption] $s ", memberStatsContext.getMemberId()
+                            , memberPredictedMemoryConsumption));
+                }
                 memoryConsumptionPredicted += memberPredictedMemoryConsumption;
                 ++totalMemberCount;
             }


[4/4] stratos git commit: Fix indentation of scaling.drl file to adhere line limit

Posted by la...@apache.org.
Fix indentation of scaling.drl file to adhere line limit


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

Branch: refs/heads/master
Commit: 8ad5fef242496e56d0a849280f8871df930062e5
Parents: ce64e75
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Mar 17 11:47:01 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Mar 17 11:47:01 2015 +0530

----------------------------------------------------------------------
 .../src/main/conf/drools/scaling.drl            | 69 +++++++++++++-------
 1 file changed, 47 insertions(+), 22 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/8ad5fef2/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 f37c773..2f71ce3 100644
--- a/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
+++ b/products/stratos/modules/distribution/src/main/conf/drools/scaling.drl
@@ -64,8 +64,10 @@ dialect "mvel"
         loadThresholds : LoadThresholds() from  autoscalePolicy.getLoadThresholds()
         partitionAlgorithm : PartitionAlgorithm() from  delegator.getPartitionAlgorithm(algorithmName)
 
-        eval(log.debug("Running scale up rule: [network-partition] " + clusterInstanceContext.getNetworkPartitionId() + " [cluster] " + clusterId))
-        eval(log.debug("[scaling] [network-partition] " + clusterInstanceContext.getNetworkPartitionId() + " [cluster] " + clusterId + " Algorithm name: " + algorithmName))
+        eval(log.debug("Running scale up rule: [network-partition] " + clusterInstanceContext.getNetworkPartitionId() +
+            " [cluster] " + clusterId))
+        eval(log.debug("[scaling] [network-partition] " + clusterInstanceContext.getNetworkPartitionId() + " [cluster] "
+            + clusterId + " Algorithm name: " + algorithmName))
 
 	
         rifThreshold : Float() from  loadThresholds.getRequestsInFlightThreshold()
@@ -89,11 +91,17 @@ dialect "mvel"
         requestsServedPerInstance : Float() from  clusterInstanceContext.getRequestsServedPerInstance()
         averageRequestsServedPerInstance : Float() from  clusterInstanceContext.getAverageRequestsServedPerInstance()
 
-        numberOfInstancesReuquiredBasedOnRif : Integer() from delegator.getNumberOfInstancesRequiredBasedOnRif(rifPredictedValue, requestsServedPerInstance, averageRequestsServedPerInstance, arspiReset)
-        numberOfInstancesReuquiredBasedOnMemoryConsumption : Integer() from delegator.getNumberOfInstancesRequiredBasedOnMemoryConsumption(mcThreshold, mcPredictedValue, minInstancesCount, maxInstancesCount)
-        numberOfInstancesReuquiredBasedOnLoadAverage : Integer() from delegator.getNumberOfInstancesRequiredBasedOnLoadAverage(laThreshold, laPredictedValue, minInstancesCount)
+        numberOfInstancesReuquiredBasedOnRif : Integer() from delegator.getNumberOfInstancesRequiredBasedOnRif(
+            rifPredictedValue, requestsServedPerInstance, averageRequestsServedPerInstance, arspiReset)
+        numberOfInstancesReuquiredBasedOnMemoryConsumption : Integer() from
+            delegator.getNumberOfInstancesRequiredBasedOnMemoryConsumption(mcThreshold, mcPredictedValue, minInstancesCount,
+            maxInstancesCount)
+        numberOfInstancesReuquiredBasedOnLoadAverage : Integer() from
+            delegator.getNumberOfInstancesRequiredBasedOnLoadAverage(laThreshold, laPredictedValue, minInstancesCount)
 
-        numberOfRequiredInstances : Integer() from delegator.getMaxNumberOfInstancesRequired(numberOfInstancesReuquiredBasedOnRif, numberOfInstancesReuquiredBasedOnMemoryConsumption ,mcReset ,numberOfInstancesReuquiredBasedOnLoadAverage, laReset) 
+        numberOfRequiredInstances : Integer() from delegator.getMaxNumberOfInstancesRequired(
+            numberOfInstancesReuquiredBasedOnRif, numberOfInstancesReuquiredBasedOnMemoryConsumption, mcReset,
+            numberOfInstancesReuquiredBasedOnLoadAverage, laReset)
 
 
 
@@ -115,7 +123,9 @@ dialect "mvel"
 
 	then
 
-	    log.debug("[scaling] Number of required instances based on stats: " + numberOfRequiredInstances + " [active instances count] " + activeInstancesCount + " [network-partition] " + clusterInstanceContext.getNetworkPartitionId() + " [cluster] " + clusterId);
+	    log.debug("[scaling] Number of required instances based on stats: " + numberOfRequiredInstances + " " +
+	        "[active instances count] " + activeInstancesCount + " [network-partition] " +
+	        clusterInstanceContext.getNetworkPartitionId() + " [cluster] " + clusterId);
 
         int nonTerminatedMembers = clusterInstanceContext.getNonTerminatedMemberCount();
         if(scaleUp){
@@ -132,7 +142,8 @@ dialect "mvel"
                             + " [instance id]" + clusterInstanceContext.getId() + " [max] " + clusterMaxMembers
                             + " [number of required instances] " + numberOfRequiredInstances
                             + " [additional instances to be created] " + additionalInstances);
-                    delegator.delegateScalingOverMaxNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(), clusterInstanceContext.getId());
+                    delegator.delegateScalingOverMaxNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(),
+                        clusterInstanceContext.getId());
                 } else {
 
                     additionalInstances = numberOfRequiredInstances - nonTerminatedMembers;
@@ -140,11 +151,13 @@ dialect "mvel"
 
                 clusterInstanceContext.resetScaleDownRequestsCount();
 
-                log.debug("[scale-up] " + " [has scaling dependents] " + clusterInstanceContext.hasScalingDependants() + " [cluster] " + clusterId );
+                log.debug("[scale-up] " + " [has scaling dependents] " + clusterInstanceContext.hasScalingDependants() +
+                    " [cluster] " + clusterId );
                 if(clusterInstanceContext.hasScalingDependants()) {
 
                     log.debug("[scale-up] Notifying dependencies [cluster] " + clusterId);
-                    delegator.delegateScalingDependencyNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(), clusterInstanceContext.getId(), numberOfRequiredInstances, clusterInstanceContext.getMinInstanceCount());
+                    delegator.delegateScalingDependencyNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(),
+                        clusterInstanceContext.getId(), numberOfRequiredInstances, clusterInstanceContext.getMinInstanceCount());
                 } else {
 
                     boolean partitionsAvailable = true;
@@ -152,7 +165,8 @@ dialect "mvel"
 
                     while(count != additionalInstances && partitionsAvailable){
 
-                        ClusterLevelPartitionContext partitionContext = (ClusterLevelPartitionContext)partitionAlgorithm.getNextScaleUpPartitionContext(clusterInstanceContext.getPartitionCtxtsAsAnArray());
+                        ClusterLevelPartitionContext partitionContext = (ClusterLevelPartitionContext)
+                            partitionAlgorithm.getNextScaleUpPartitionContext(clusterInstanceContext.getPartitionCtxtsAsAnArray());
                         if(partitionContext != null){
 
                             log.info("[scale-up] Partition available, hence trying to spawn an instance to scale up!" );
@@ -171,7 +185,8 @@ dialect "mvel"
                         notifying to parent for possible group scaling or app bursting.
                         [cluster] " + clusterId + " [instance id]" + clusterInstanceContext.getId() +
                         " [max] " + clusterMaxMembers);
-                delegator.delegateScalingOverMaxNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(), clusterInstanceContext.getId());
+                delegator.delegateScalingOverMaxNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(),
+                    clusterInstanceContext.getId());
             }
         } else if(scaleDown){
 
@@ -180,18 +195,21 @@ dialect "mvel"
                 log.debug("[scale-down] Decided to Scale down [cluster] " + clusterId);
                 if(clusterInstanceContext.getScaleDownRequestsCount() > 2 ){
 
-                    log.debug("[scale-down] Reached scale down requests threshold [cluster] " + clusterId + " Count " + clusterInstanceContext.getScaleDownRequestsCount());
+                    log.debug("[scale-down] Reached scale down requests threshold [cluster] " + clusterId + " Count " +
+                        clusterInstanceContext.getScaleDownRequestsCount());
 
                     if(clusterInstanceContext.hasScalingDependants()) {
 
                         log.debug("[scale-up] Notifying dependencies [cluster] " + clusterId);
-                        delegator.delegateScalingDependencyNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(), clusterInstanceContext.getId(), numberOfRequiredInstances, clusterInstanceContext.getMinInstanceCount());
+                        delegator.delegateScalingDependencyNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(),
+                            clusterInstanceContext.getId(), numberOfRequiredInstances, clusterInstanceContext.getMinInstanceCount());
                     } else{
 
                         MemberStatsContext selectedMemberStatsContext = null;
                         double lowestOverallLoad = 0.0;
                         boolean foundAValue = false;
-                        ClusterLevelPartitionContext partitionContext =  (ClusterLevelPartitionContext) partitionAlgorithm.getNextScaleDownPartitionContext((clusterInstanceContext.getPartitionCtxtsAsAnArray()));
+                        ClusterLevelPartitionContext partitionContext =  (ClusterLevelPartitionContext)
+                            partitionAlgorithm.getNextScaleDownPartitionContext((clusterInstanceContext.getPartitionCtxtsAsAnArray()));
                         if(partitionContext != null){
                             log.info("[scale-down] Partition available to scale down ");
         //                    log.debug("[scale-down] " + " [partition] " + partition.getId() + " [cluster] " + clusterId);
@@ -212,15 +230,19 @@ dialect "mvel"
 
                                 MemoryConsumption memoryConsumption = memberStatsContext.getMemoryConsumption();
                                 log.debug("[scale-down] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] "
-                                    + clusterId + " [member] " + memberStatsContext.getMemberId() + " Memory consumption: " + memoryConsumption);
+                                    + clusterId + " [member] " + memberStatsContext.getMemberId() + " Memory consumption: " +
+                                    memoryConsumption);
 
-                                double predictedCpu = delegator.getPredictedValueForNextMinute(loadAverage.getAverage(),loadAverage.getGradient(),loadAverage.getSecondDerivative(), 1);
+                                double predictedCpu = delegator.getPredictedValueForNextMinute(loadAverage.getAverage(),
+                                    loadAverage.getGradient(),loadAverage.getSecondDerivative(), 1);
                                 log.debug("[scale-down] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] "
                                     + clusterId + " [member] " + memberStatsContext.getMemberId() + " Predicted CPU: " + predictedCpu);
 
-                                double predictedMemoryConsumption = delegator.getPredictedValueForNextMinute(memoryConsumption.getAverage(),memoryConsumption.getGradient(),memoryConsumption.getSecondDerivative(), 1);
+                                double predictedMemoryConsumption = delegator.getPredictedValueForNextMinute(
+                                    memoryConsumption.getAverage(),memoryConsumption.getGradient(),memoryConsumption.getSecondDerivative(), 1);
                                 log.debug("[scale-down] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] "
-                                    + clusterId + " [member] " + memberStatsContext.getMemberId() + " Predicted memory consumption: " + predictedMemoryConsumption);
+                                    + clusterId + " [member] " + memberStatsContext.getMemberId() + " Predicted memory consumption: " +
+                                        predictedMemoryConsumption);
 
                                 double overallLoad = (predictedCpu + predictedMemoryConsumption) / 2;
                                 log.debug("[scale-down] " + " [partition] " + partitionContext.getPartitionId() + " [cluster] "
@@ -249,15 +271,18 @@ dialect "mvel"
                         }
                     }
                 } else{
-                     log.debug("[scale-down] Not reached scale down requests threshold. " + clusterId + " Count " + clusterInstanceContext.getScaleDownRequestsCount());
+                     log.debug("[scale-down] Not reached scale down requests threshold. " + clusterId + " Count " +
+                        clusterInstanceContext.getScaleDownRequestsCount());
                      clusterInstanceContext.increaseScaleDownRequestsCount();
 
                 }
             } else {
-                log.info("[scale-down] Min is reached, hence not scaling down [cluster] " + clusterId + " [instance id]" + clusterInstanceContext.getId());
+                log.info("[scale-down] Min is reached, hence not scaling down [cluster] " + clusterId + " [instance id]"
+                    + clusterInstanceContext.getId());
                 if(clusterInstanceContext.isInGroupScalingEnabledSubtree()){
 
-                    delegator.delegateScalingDownBeyondMinNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(), clusterInstanceContext.getId());
+                    delegator.delegateScalingDownBeyondMinNotification(clusterId, clusterInstanceContext.getNetworkPartitionId(),
+                        clusterInstanceContext.getId());
                 }
             }
         }  else{


[2/4] stratos git commit: Formatting RuleTasksDelegator class and removing unused lines

Posted by la...@apache.org.
Formatting RuleTasksDelegator class and removing unused lines


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

Branch: refs/heads/master
Commit: c595ef8fea98455ddbec9dda4168feb8bb77b02e
Parents: efe1f79
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Mar 17 11:29:00 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Mar 17 11:29:00 2015 +0530

----------------------------------------------------------------------
 .../autoscaler/rule/RuleTasksDelegator.java     | 49 +++++++++-----------
 1 file changed, 23 insertions(+), 26 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/c595ef8f/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 a5571b9..c4d643b 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
@@ -34,9 +34,7 @@ import org.apache.stratos.autoscaler.context.member.MemberStatsContext;
 import org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionContext;
 import org.apache.stratos.autoscaler.context.partition.network.ClusterLevelNetworkPartitionContext;
 import org.apache.stratos.autoscaler.event.publisher.InstanceNotificationPublisher;
-import org.apache.stratos.autoscaler.exception.cartridge.TerminationException;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
-import org.apache.stratos.autoscaler.util.AutoscalerConstants;
 import org.apache.stratos.cloud.controller.stub.domain.MemberContext;
 import org.apache.stratos.common.client.CloudControllerServiceClient;
 import org.apache.stratos.common.constants.StratosConstants;
@@ -46,8 +44,6 @@ import org.apache.stratos.common.constants.StratosConstants;
  */
 public class RuleTasksDelegator {
 
-    public static final double SCALE_UP_FACTOR = 0.8;   //get from config
-    public static final double SCALE_DOWN_FACTOR = 0.2;
     private static boolean arspiIsSet = false;
 
     private static final Log log = LogFactory.getLog(RuleTasksDelegator.class);
@@ -89,12 +85,12 @@ public class RuleTasksDelegator {
     public int getNumberOfInstancesRequiredBasedOnMemoryConsumption(float threshold, double predictedValue,
                                                                     int min, int max) {
         double numberOfAdditionalInstancesRequired = 0;
-        if(predictedValue != threshold) {
+        if (predictedValue != threshold) {
 
             float scalingRange = 100 - threshold;
             int instanceRange = max - min;
 
-            if(instanceRange != 0){
+            if (instanceRange != 0) {
 
                 float gradient = scalingRange / instanceRange;
                 numberOfAdditionalInstancesRequired = (predictedValue - threshold) / gradient;
@@ -108,7 +104,7 @@ public class RuleTasksDelegator {
                                                               int min) {
 
         double numberOfInstances;
-        if(threshold != 0) {
+        if (threshold != 0) {
 
             numberOfInstances = (min * predictedValue) / threshold;
             return (int) Math.ceil(numberOfInstances);
@@ -144,7 +140,7 @@ public class RuleTasksDelegator {
         PartitionAlgorithm autoscaleAlgorithm = null;
         //FIXME to not parse for algo when partition is chosen by the parent
 
-        if(partitionAlgorithm == null) {
+        if (partitionAlgorithm == null) {
             //Send one after another as default
             partitionAlgorithm = StratosConstants.PARTITION_ONE_AFTER_ANOTHER_ALGORITHM_ID;
         }
@@ -176,10 +172,11 @@ public class RuleTasksDelegator {
 
     /**
      * Invoked from drools to start an instance.
+     *
      * @param clusterMonitorPartitionContext Cluster monitor partition context
-     * @param clusterId Cluster id
-     * @param clusterInstanceId Instance id
-     * @param isPrimary Is a primary member
+     * @param clusterId                      Cluster id
+     * @param clusterInstanceId              Instance id
+     * @param isPrimary                      Is a primary member
      */
     public void delegateSpawn(ClusterLevelPartitionContext clusterMonitorPartitionContext, String clusterId,
                               String clusterInstanceId, boolean isPrimary) {
@@ -188,8 +185,8 @@ public class RuleTasksDelegator {
             String nwPartitionId = clusterMonitorPartitionContext.getNetworkPartitionId();
 
             // Calculate accumulation of minimum counts of all the partition of current network partition
-            int minimumCountOfNetworkPartition = 0;
-            ClusterMonitor clusterMonitor = (ClusterMonitor) AutoscalerContext.getInstance().getClusterMonitor(clusterId);
+            int minimumCountOfNetworkPartition;
+            ClusterMonitor clusterMonitor = AutoscalerContext.getInstance().getClusterMonitor(clusterId);
             ClusterContext clusterContext = (ClusterContext) clusterMonitor.getClusterContext();
             ClusterLevelNetworkPartitionContext clusterLevelNetworkPartitionContext =
                     clusterContext.getNetworkPartitionCtxt(nwPartitionId);
@@ -230,7 +227,7 @@ public class RuleTasksDelegator {
     public void delegateScalingDependencyNotification(String clusterId, String networkPartitionId, String instanceId,
                                                       int requiredInstanceCount, int minimumInstanceCount) {
 
-        if(log.isDebugEnabled()) {
+        if (log.isDebugEnabled()) {
             log.debug("Scaling dependent notification is going to the [parentInstance] " + instanceId);
         }
         //Notify parent for checking scaling dependencies
@@ -244,7 +241,7 @@ public class RuleTasksDelegator {
     }
 
     public void delegateScalingOverMaxNotification(String clusterId, String networkPartitionId, String instanceId) {
-        if(log.isDebugEnabled()) {
+        if (log.isDebugEnabled()) {
             log.debug("Scaling max out notification is going to the [parentInstance] " + instanceId);
         }
         //Notify parent for checking scaling dependencies
@@ -257,7 +254,7 @@ public class RuleTasksDelegator {
     }
 
     public void delegateScalingDownBeyondMinNotification(String clusterId, String networkPartitionId, String instanceId) {
-        if(log.isDebugEnabled()) {
+        if (log.isDebugEnabled()) {
             log.debug("Scaling down lower min notification is going to the [parentInstance] " + instanceId);
         }
         //Notify parent for checking scaling dependencies
@@ -276,19 +273,19 @@ public class RuleTasksDelegator {
             if (clusterMonitorPartitionContext.activeMemberAvailable(memberId)) {
 
                 log.info(String.format("[scale-down] Moving active member to termination pending list [member id] %s " +
-                                "[partition] %s [network partition] %s" , memberId,
+                                "[partition] %s [network partition] %s", memberId,
                         clusterMonitorPartitionContext.getPartitionId(),
                         clusterMonitorPartitionContext.getNetworkPartitionId()));
-                        clusterMonitorPartitionContext.moveActiveMemberToTerminationPendingMembers(memberId);
-                        clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
+                clusterMonitorPartitionContext.moveActiveMemberToTerminationPendingMembers(memberId);
+                clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
             } else if (clusterMonitorPartitionContext.pendingMemberAvailable(memberId)) {
 
                 log.info(String.format("[scale-down] Moving pending member to termination pending list [member id] %s " +
-                                "[partition] %s [network partition] %s" , memberId,
+                                "[partition] %s [network partition] %s", memberId,
                         clusterMonitorPartitionContext.getPartitionId(),
                         clusterMonitorPartitionContext.getNetworkPartitionId()));
-                        clusterMonitorPartitionContext.movePendingMemberToObsoleteMembers(memberId);
-                        clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
+                clusterMonitorPartitionContext.movePendingMemberToObsoleteMembers(memberId);
+                clusterMonitorPartitionContext.removeMemberStatsContext(memberId);
             }
         } catch (Exception e) {
             log.error("[scale-down] Cannot move member to termination pending list ", e);
@@ -314,7 +311,7 @@ public class RuleTasksDelegator {
             CloudControllerServiceClient.getInstance().terminateInstance(memberId);
         } catch (Exception e) {
             log.error("Cannot terminate instance", e);
-        } 
+        }
     }
 
     //Grouping
@@ -329,7 +326,7 @@ public class RuleTasksDelegator {
             }
         } catch (Exception e) {
             log.error("Cannot terminate instance", e);
-        } 
+        }
     }
 
     public int getPredictedReplicasForStat(int minReplicas, float statUpperLimit, float statPredictedValue) {
@@ -353,7 +350,7 @@ public class RuleTasksDelegator {
                 double memberPredictedLoadAverage = getPredictedValueForNextMinute(memberAverageLoadAverage,
                         memberGredientLoadAverage, memberSecondDerivativeLoadAverage, 1);
 
-                if(log.isDebugEnabled()) {
+                if (log.isDebugEnabled()) {
                     log.debug(String.format("[member-id] $s [predicted load average] $s ", memberStatsContext.getMemberId()
                             , memberPredictedLoadAverage));
                 }
@@ -383,7 +380,7 @@ public class RuleTasksDelegator {
                 double memberPredictedMemoryConsumption = getPredictedValueForNextMinute(memberMemoryConsumptionAverage,
                         memberMemoryConsumptionGredient, memberMemoryConsumptionSecondDerivative, 1);
 
-                if(log.isDebugEnabled()) {
+                if (log.isDebugEnabled()) {
                     log.debug(String.format("[member-id] $s [predicted memory consumption] $s ", memberStatsContext.getMemberId()
                             , memberPredictedMemoryConsumption));
                 }


[3/4] stratos git commit: Formatting ClusterMonitor class and removing unused lines

Posted by la...@apache.org.
Formatting ClusterMonitor class and removing unused lines


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

Branch: refs/heads/master
Commit: ce64e7514147c59f56d515ab27ffe77b804c8a00
Parents: c595ef8
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Tue Mar 17 11:31:56 2015 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Tue Mar 17 11:31:56 2015 +0530

----------------------------------------------------------------------
 .../monitor/cluster/ClusterMonitor.java         | 68 ++++++++++----------
 1 file changed, 35 insertions(+), 33 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/ce64e751/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
index dfaa582..3fcc315 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java
@@ -229,10 +229,10 @@ public class ClusterMonitor extends Monitor implements Runnable {
          * then won't send the notification to parent.
          */
         ClusterInstance instance = (ClusterInstance) this.instanceIdToInstanceMap.get(instanceId);
-        if(instance == null) {
+        if (instance == null) {
             log.warn("The required cluster [instance] " + instanceId + " not found in the ClusterMonitor");
         } else {
-            if(instance.getStatus() != status) {
+            if (instance.getStatus() != status) {
                 instance.setStatus(status);
             }
             /*if (instance.getStatus() == ClusterStatus.Inactive && !this.hasStartupDependents) {
@@ -386,27 +386,27 @@ public class ClusterMonitor extends Monitor implements Runnable {
 
         return groupScalingEnabledSubtree;
     }
-    
-	private static void createClusterInstance(String serviceType,
-	        String clusterId, String alias, String instanceId,
-	        String partitionId, String networkPartitionId) {
-		
-			try {
-	            CloudControllerServiceClient.getInstance().createClusterInstance(
-	                    serviceType, clusterId, alias, instanceId, partitionId,
-	                    networkPartitionId);
-			} catch (RemoteException e) {
-				String msg = " Exception occurred in creating cluster instance with cluster-id [" + clusterId 
-	            		+ "] instance-id ["+instanceId+"] service-type ["+serviceType+"]"
-	            		+ "] alias ["+alias+"] partition-id ["+partitionId+"]"
-	            		+ "] network-parition-id ["+networkPartitionId+"]"
-	            				+ " .Reason ["+e.getMessage()+"]" ;
-	            log.error(msg);
-	            throw new RuntimeException(msg, e);
-            }
-		
 
-	}
+    private static void createClusterInstance(String serviceType,
+                                              String clusterId, String alias, String instanceId,
+                                              String partitionId, String networkPartitionId) {
+
+        try {
+            CloudControllerServiceClient.getInstance().createClusterInstance(
+                    serviceType, clusterId, alias, instanceId, partitionId,
+                    networkPartitionId);
+        } catch (RemoteException e) {
+            String msg = " Exception occurred in creating cluster instance with cluster-id [" + clusterId
+                    + "] instance-id [" + instanceId + "] service-type [" + serviceType + "]"
+                    + "] alias [" + alias + "] partition-id [" + partitionId + "]"
+                    + "] network-parition-id [" + networkPartitionId + "]"
+                    + " .Reason [" + e.getMessage() + "]";
+            log.error(msg);
+            throw new RuntimeException(msg, e);
+        }
+
+
+    }
 
     public void addClusterLevelNWPartitionContext(ClusterLevelNetworkPartitionContext clusterLevelNWPartitionCtxt) {
         networkPartitionIdToClusterLevelNetworkPartitionCtxts.put(clusterLevelNWPartitionCtxt.getId(), clusterLevelNWPartitionCtxt);
@@ -685,9 +685,9 @@ public class ClusterMonitor extends Monitor implements Runnable {
 
 
         log.info("Parent scaling event received to [cluster]: " + this.getClusterId()
-                    + ", [network partition]: " + scalingEvent.getNetworkPartitionId()
-                    + ", [event] " + scalingEvent.getId() + ", [group instance] " + scalingEvent.getInstanceId()
-                    + ", [factor] " + scalingEvent.getFactor());
+                + ", [network partition]: " + scalingEvent.getNetworkPartitionId()
+                + ", [event] " + scalingEvent.getId() + ", [group instance] " + scalingEvent.getInstanceId()
+                + ", [factor] " + scalingEvent.getFactor());
 
 
         this.scalingFactorBasedOnDependencies = scalingEvent.getFactor();
@@ -1317,7 +1317,7 @@ public class ClusterMonitor extends Monitor implements Runnable {
 
                 ClusterInstanceContext instanceContext =
                         (ClusterInstanceContext) getAllNetworkPartitionCtxts().get(networkPartitionId)
-                                                                    .getInstanceContext(instanceId);
+                                .getInstanceContext(instanceId);
                 boolean allMovedToObsolete = true;
                 for (ClusterLevelPartitionContext partitionContext : instanceContext.getPartitionCtxts()) {
                     if (log.isInfoEnabled()) {
@@ -1355,14 +1355,14 @@ public class ClusterMonitor extends Monitor implements Runnable {
                         }
                         partitionContext.movePendingMemberToObsoleteMembers(memberId);
                     }
-                    if(partitionContext.getTotalMemberCount() == 0) {
+                    if (partitionContext.getTotalMemberCount() == 0) {
                         allMovedToObsolete = allMovedToObsolete && true;
                     } else {
                         allMovedToObsolete = false;
                     }
                 }
 
-                if(allMovedToObsolete) {
+                if (allMovedToObsolete) {
                     monitor.monitor();
                 }
             }
@@ -1375,19 +1375,21 @@ public class ClusterMonitor extends Monitor implements Runnable {
         return ((ClusterContext) this.clusterContext).getNetworkPartitionCtxts();
     }
 
-    public ClusterInstanceContext getClusterInstanceContext(String networkPartitionId, String instanceId) {Map<String, ClusterLevelNetworkPartitionContext> clusterLevelNetworkPartitionContextMap =
+    public ClusterInstanceContext getClusterInstanceContext(String networkPartitionId, String instanceId) {
+        Map<String,
+                ClusterLevelNetworkPartitionContext> clusterLevelNetworkPartitionContextMap =
                 ((ClusterContext) this.clusterContext).getNetworkPartitionCtxts();
-        if(StringUtils.isBlank(networkPartitionId)) {
+        if (StringUtils.isBlank(networkPartitionId)) {
             throw new RuntimeException("Network partition id is null");
         }
         ClusterLevelNetworkPartitionContext networkPartitionContext =
                 clusterLevelNetworkPartitionContextMap.get(networkPartitionId);
-        if(networkPartitionContext == null) {
+        if (networkPartitionContext == null) {
             throw new RuntimeException("Network partition context not found: [network-partition-id] " +
-            networkPartitionId);
+                    networkPartitionId);
         }
         ClusterInstanceContext instanceContext = (ClusterInstanceContext) networkPartitionContext.
-                                                        getInstanceContext(instanceId);
+                getInstanceContext(instanceId);
         return instanceContext;
     }