Updated Branches:
  refs/heads/master 3a5f074af -> 5ad85be27

Adjusting some logs in algorithms


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

Branch: refs/heads/master
Commit: 5ad85be276884147e9745ac5ed43f6f8c9696f89
Parents: 3a5f074
Author: Lahiru Sandaruwan <[email protected]>
Authored: Thu Jan 16 10:30:30 2014 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Thu Jan 16 10:30:30 2014 +0530

----------------------------------------------------------------------
 .../autoscaler/algorithm/OneAfterAnother.java   | 18 ++++-----
 .../autoscaler/algorithm/RoundRobin.java        | 41 +++++++++++---------
 2 files changed, 29 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5ad85be2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java
index becfd5b..1fddf77 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/OneAfterAnother.java
@@ -59,14 +59,12 @@ public class OneAfterAnother implements AutoscaleAlgorithm {
                     currentPartitionIndex = 
networkPartitionContext.getCurrentPartitionIndex();
                     Partition currentPartition = (Partition) 
partitions.get(currentPartitionIndex);
                     String currentPartitionId = currentPartition.getId();
-
-                    if 
(networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId)
-                            < currentPartition.getPartitionMax()) {
+                    int nonTerminatedMemberCountOfPartition = 
networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId);
+                    if (nonTerminatedMemberCountOfPartition < 
currentPartition.getPartitionMax()) {
                         // current partition is free
                         if (log.isDebugEnabled())
                             log.debug(String.format("A free space found for 
scale up in partition %s [current] %s [max] %s",
-                                    currentPartitionId, 
networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId),
-                                                                    
currentPartition.getPartitionMax()))  ;
+                                    currentPartitionId, 
nonTerminatedMemberCountOfPartition, currentPartition.getPartitionMax()))  ;
                         return currentPartition;
                     } else {
                         // last partition is reached which is not free
@@ -101,20 +99,18 @@ public class OneAfterAnother implements AutoscaleAlgorithm 
{
                     String currentPartitionId = currentPartition.getId();
 
                     // has more than minimum instances.
-                    if 
(networkPartitionContext.getActiveMemberCount(currentPartitionId) >
-                            currentPartition.getPartitionMin()) {
+                    int currentlyActiveMemberCount = 
networkPartitionContext.getActiveMemberCount(currentPartitionId);
+                    if ( currentlyActiveMemberCount > 
currentPartition.getPartitionMin()) {
                         // current partition is free
                         if (log.isDebugEnabled())
                             log.debug(String.format("A free space found for 
scale down in partition %s [current] %s [min] %s",
-                                    currentPartitionId, 
networkPartitionContext.getActiveMemberCount(currentPartitionId),
-                                                                    
currentPartition.getPartitionMin()))  ;
+                                    currentPartitionId, 
currentlyActiveMemberCount, currentPartition.getPartitionMin()))  ;
                         return currentPartition;
                     } else {
                         if (currentPartitionIndex == 0) {
                             if (log.isDebugEnabled())
                                 log.debug(String.format("Partition %s reached 
with no space to scale down," +
-                                        "[current] %s [min] %s", 
currentPartitionId,
-                                        
networkPartitionContext.getActiveMemberCount(currentPartitionId),
+                                        "[current] %s [min] %s", 
currentPartitionId, currentlyActiveMemberCount,
                                         currentPartition.getPartitionMin()));
                             return null;
                         }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/5ad85be2/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/RoundRobin.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/RoundRobin.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/RoundRobin.java
index ea4786f..fc2f891 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/RoundRobin.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/algorithm/RoundRobin.java
@@ -33,9 +33,9 @@ import java.util.List;
  *
 */
 public class RoundRobin implements AutoscaleAlgorithm{
-       
+
        private static final Log log = LogFactory.getLog(RoundRobin.class);
-    
+
     public Partition getNextScaleUpPartition(NetworkPartitionContext 
networkPartitionContext, String clusterId){
 
        List<?> partitions = 
Arrays.asList(networkPartitionContext.getPartitions());
@@ -50,13 +50,12 @@ public class RoundRobin implements AutoscaleAlgorithm{
            if (partitions.get(currentPartitionIndex) instanceof Partition) {
                    Partition currentPartition = (Partition) 
partitions.get(currentPartitionIndex);
                String currentPartitionId =  currentPartition.getId();
-               
+
                // point to next partition
                int nextPartitionIndex = currentPartitionIndex  == 
noOfPartitions - 1 ? 0 : currentPartitionIndex+1;
                
networkPartitionContext.setCurrentPartitionIndex(nextPartitionIndex);
-
-               
if(networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId)
-                        < currentPartition.getPartitionMax()){
+                int nonTerminatedMemberCountOfPartition = 
networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId);
+               if(nonTerminatedMemberCountOfPartition < 
currentPartition.getPartitionMax()){
                     // current partition is free
                     if (log.isDebugEnabled())
                         log.debug(String.format("A free space found for scale 
up in partition %s [current] %s [max] %s",
@@ -70,10 +69,10 @@ public class RoundRobin implements AutoscaleAlgorithm{
 
            }
        }
-       
+
        // none of the partitions were free.
        if(log.isDebugEnabled()) {
-               log.debug("No free partition found at partition group " + 
networkPartitionContext);
+               log.debug("No free partition found at network partition " + 
networkPartitionContext);
        }
         return null;
     }
@@ -105,18 +104,22 @@ public class RoundRobin implements AutoscaleAlgorithm{
                 String currentPartitionId = currentPartition.getId();
 
                 // has more than minimum instances.
-                if 
(networkPartitionContext.getActiveMemberCount(currentPartitionId) >
-                        currentPartition.getPartitionMin()) {
+                int currentlyActiveMemberCount = 
networkPartitionContext.getActiveMemberCount(currentPartitionId);
+                if (currentlyActiveMemberCount > 
currentPartition.getPartitionMin()) {
                     // current partition is free
-                    if (log.isDebugEnabled()) {
-                        log.debug("Returning partition for scaling down " +
-                                  currentPartition.getId());
-                    }
+                    if (log.isDebugEnabled())
+                        log.debug(String.format("A free space found for scale 
down in partition %s [current] %s [min] %s",
+                                currentPartitionId, 
currentlyActiveMemberCount, currentPartition.getPartitionMin()))  ;
                     return currentPartition;
-                }
-                if (log.isDebugEnabled()) {
-                    log.debug("Found no members to scale down at partition" +
-                              currentPartition.getId());
+                }else {
+
+                    if (currentPartitionIndex == 0) {
+                        if (log.isDebugEnabled())
+                            log.debug(String.format("Partition %s reached with 
no space to scale down," +
+                                    "[current] %s [min] %s", 
currentPartitionId, currentlyActiveMemberCount,
+                                    currentPartition.getPartitionMin()));
+                        return null;
+                    }
                 }
             }
         }
@@ -127,7 +130,7 @@ public class RoundRobin implements AutoscaleAlgorithm{
         // none of the partitions were free.
         return null;
     }
-       
+
 
     @Override
     public boolean scaleUpPartitionAvailable(String clusterId) {

Reply via email to