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()) {