Updated Branches:
  refs/heads/master 3df204620 -> efdffe6ac

Fix min check and algorithm to get non terminated count


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

Branch: refs/heads/master
Commit: efdffe6acaa3228a7acc0b3ebf2cfa54b6fbdfba
Parents: 3df2046
Author: Lahiru Sandaruwan <[email protected]>
Authored: Wed Jan 15 22:55:44 2014 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Wed Jan 15 22:55:44 2014 +0530

----------------------------------------------------------------------
 .../stratos/autoscaler/NetworkPartitionContext.java     | 12 ++++++------
 .../org/apache/stratos/autoscaler/PartitionContext.java |  4 +++-
 .../stratos/autoscaler/algorithm/OneAfterAnother.java   |  6 +++---
 .../apache/stratos/autoscaler/algorithm/RoundRobin.java |  8 +++++---
 .../modules/distribution/src/main/conf/mincheck.drl     |  4 ++--
 5 files changed, 19 insertions(+), 15 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdffe6a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java
index 3e089cf..3bc56a2 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/NetworkPartitionContext.java
@@ -446,16 +446,16 @@ public class NetworkPartitionContext implements 
Serializable{
 //         return partitionToMemberCountMap.containsKey(partitionId);
 //     }
 
-     public int getMemberCountOfPartition(String partitionId){
+//     public int getMemberCountOfPartition(String partitionId){
 //         if(partitionToMemberCountMap.containsKey(partitionId)) {
 //             return partitionToMemberCountMap.get(partitionId);
 //         }
 //         return 0;
-         if(partitionCtxts.containsKey(partitionId)){
-             return getPartitionCtxt(partitionId).getTotalMemberCount();
-         }
-         return 0;
-     }
+//         if(partitionCtxts.containsKey(partitionId)){
+//             return getPartitionCtxt(partitionId).getTotalMemberCount();
+//         }
+//         return 0;
+//     }
 
     public Map<String, PartitionContext> getPartitionCtxts() {
         return partitionCtxts;

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdffe6a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
index 36c3e97..886138d 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/PartitionContext.java
@@ -325,7 +325,9 @@ public class PartitionContext implements Serializable{
         return activeMembers.size() + pendingMembers.size() + 
terminationPendingMembers.size();
     }
 
-    public int getNonTerminatedMemberCount() {
+    public int
+
+    gs() {
         return activeMembers.size() + pendingMembers.size();
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdffe6a/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 636b372..acc5e09 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
@@ -65,7 +65,7 @@ public class OneAfterAnother implements AutoscaleAlgorithm {
                         // 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.getMemberCountOfPartition(currentPartitionId),
+                                    currentPartitionId, 
networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId),
                                                                     
currentPartition.getPartitionMax()))  ;
                         return currentPartition;
                     } else {
@@ -106,7 +106,7 @@ public class OneAfterAnother implements AutoscaleAlgorithm {
                         // 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.getMemberCountOfPartition(currentPartitionId),
+                                    currentPartitionId, 
networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId),
                                                                     
currentPartition.getPartitionMin()))  ;
                         return currentPartition;
                     } else {
@@ -114,7 +114,7 @@ public class OneAfterAnother implements AutoscaleAlgorithm {
                             if (log.isDebugEnabled())
                                 log.debug(String.format("Partition %s reached 
with no space to scale down," +
                                         "[current] %s [mib] %s", 
currentPartitionId,
-                                        
networkPartitionContext.getMemberCountOfPartition(currentPartitionId),
+                                        
networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId),
                                         currentPartition.getPartitionMin()));
                             return null;
                         }

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdffe6a/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 a24eb06..04aa5f0 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
@@ -57,9 +57,11 @@ public class RoundRobin implements AutoscaleAlgorithm{
 
                
if(networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId)
                         < currentPartition.getPartitionMax()){
-                       // current partition is free
-                       if(log.isDebugEnabled())
-                               log.debug("Free space found in partition " + 
currentPartition.getId());
+                    // 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()))  ;
                        return currentPartition;
                    }
 

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efdffe6a/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
----------------------------------------------------------------------
diff --git 
a/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl 
b/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
index 2c04459..994c950 100755
--- a/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
+++ b/products/autoscaler/modules/distribution/src/main/conf/mincheck.drl
@@ -54,9 +54,9 @@ dialect "mvel"
        when
            $ctxt : PartitionContext ()
            eval(log.debug("Running minimum rule: [network-partition] " + 
$ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId()))
-              eval(log.debug("[min-check] [network-partition] " + 
$ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() + " 
Total member count: " + $ctxt.getTotalMemberCount()))
+              eval(log.debug("[min-check] [network-partition] " + 
$ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() + " 
Non termnated member count: " + $ctxt.getNonTerminatedMemberCount()))
               eval(log.debug("[min-check] [network-partition] " + 
$ctxt.getNetworkPartitionId() + " [partition] " + $ctxt.getPartitionId() + " 
Minimum member count: " + $ctxt.getMinimumMemberCount()))
-              eval($ctxt.getTotalMemberCount() < $ctxt.getMinimumMemberCount())
+              eval($ctxt.getNonTerminatedMemberCount() < 
$ctxt.getMinimumMemberCount())
 
        then
               $delegator.delegateSpawn($ctxt, clusterId, lbRef);

Reply via email to