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/01/15 20:23:47 UTC

git commit: Get scale down decision only if active member count is higher than minimum limit

Updated Branches:
  refs/heads/master 70d56224c -> efbc7af46


Get scale down decision only if active member count is higher than minimum limit


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

Branch: refs/heads/master
Commit: efbc7af462ab12ebd1cdd19a0b880775d1ede00a
Parents: 70d5622
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Thu Jan 16 00:58:15 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Thu Jan 16 00:58:15 2014 +0530

----------------------------------------------------------------------
 .../apache/stratos/autoscaler/NetworkPartitionContext.java    | 7 +++++++
 .../java/org/apache/stratos/autoscaler/PartitionContext.java  | 4 ++--
 .../apache/stratos/autoscaler/algorithm/OneAfterAnother.java  | 2 +-
 .../org/apache/stratos/autoscaler/algorithm/RoundRobin.java   | 2 +-
 4 files changed, 11 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efbc7af4/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 3bc56a2..09a8277 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
@@ -484,6 +484,13 @@ public class NetworkPartitionContext implements Serializable{
         return 0;
     }
 
+    public int getActiveMemberCount(String currentPartitionId) {
+        if(partitionCtxts.containsKey(currentPartitionId)){
+            return getPartitionCtxt(currentPartitionId).getActiveMemberCount();
+        }
+        return 0;
+    }
+
 //    public void setPartitions(Partition[] partitions) {
 //        this.partitions = partitions;
 //        for (Partition partition: partitions){

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efbc7af4/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..5e0024d 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
@@ -105,8 +105,8 @@ public class PartitionContext implements Serializable{
         this.pendingMembers = pendingMembers;
     }
     
-    public List<MemberContext> getActiveMembers() {
-        return activeMembers;
+    public int getActiveMemberCount() {
+        return activeMembers.size();
     }
     
     public void setActiveMembers(List<MemberContext> activeMembers) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efbc7af4/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 acc5e09..65cbdfc 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
@@ -101,7 +101,7 @@ public class OneAfterAnother implements AutoscaleAlgorithm {
                     String currentPartitionId = currentPartition.getId();
 
                     // has more than minimum instances.
-                    if (networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId) >
+                    if (networkPartitionContext.getActiveMemberCount(currentPartitionId) >
                             currentPartition.getPartitionMin()) {
                         // current partition is free
                         if (log.isDebugEnabled())

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/efbc7af4/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 04aa5f0..ea4786f 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
@@ -105,7 +105,7 @@ public class RoundRobin implements AutoscaleAlgorithm{
                 String currentPartitionId = currentPartition.getId();
 
                 // has more than minimum instances.
-                if (networkPartitionContext.getNonTerminatedMemberCountOfPartition(currentPartitionId) >
+                if (networkPartitionContext.getActiveMemberCount(currentPartitionId) >
                         currentPartition.getPartitionMin()) {
                     // current partition is free
                     if (log.isDebugEnabled()) {