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 2013/12/25 21:07:12 UTC
git commit: Fix to set partition algo and adding some debug logs
Updated Branches:
refs/heads/master 5c93d0f5a -> 6313be8d8
Fix to set partition algo and adding some debug logs
Project: http://git-wip-us.apache.org/repos/asf/incubator-stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-stratos/commit/6313be8d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-stratos/tree/6313be8d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-stratos/diff/6313be8d
Branch: refs/heads/master
Commit: 6313be8d858cf34a7ea6d199f3b716447b5d3cf7
Parents: 5c93d0f
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Thu Dec 26 01:41:49 2013 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Thu Dec 26 01:41:49 2013 +0530
----------------------------------------------------------------------
.../org/apache/stratos/autoscaler/NetworkPartitionContext.java | 3 ++-
.../apache/stratos/autoscaler/algorithm/OneAfterAnother.java | 4 ++++
.../org/apache/stratos/autoscaler/algorithm/RoundRobin.java | 5 ++++-
.../apache/stratos/autoscaler/partition/PartitionManager.java | 2 +-
.../org/apache/stratos/autoscaler/rule/RuleTasksDelegator.java | 5 +++--
.../java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java | 3 ++-
6 files changed, 16 insertions(+), 6 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6313be8d/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 defb7db..0f15ac3 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
@@ -64,10 +64,11 @@ public class NetworkPartitionContext implements Serializable{
//partitions of this network partition
private Map<String, PartitionContext> partitionCtxts;
- public NetworkPartitionContext(String id) {
+ public NetworkPartitionContext(String id, String partitionAlgo) {
super();
this.id = id;
+ this.partitionAlgorithm = partitionAlgo;
this.setServiceToLBClusterId(new HashMap<String, String>());
this.setClusterIdToLBClusterIdMap(new HashMap<String, String>());
// partitionToMemberCountMap = new HashMap<String, Integer>();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6313be8d/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 a187900..a10c4d0 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
@@ -49,6 +49,10 @@ public class OneAfterAnother implements AutoscaleAlgorithm {
int currentPartitionIndex = networkPartitionContext.getCurrentPartitionIndex();
List<?> partitions = Arrays.asList(networkPartitionContext.getPartitions());
int noOfPartitions = partitions.size();
+ if(log.isDebugEnabled()){
+ log.debug(String.format("Selecting a partition from 'One After Another' algorithm, " +
+ "%s partitions in the [network partition]: %s ", noOfPartitions, networkPartitionContext.getId()));
+ }
for(int i=currentPartitionIndex; i< noOfPartitions; i++)
{
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6313be8d/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 74d9eda..8bf14d6 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
@@ -40,7 +40,10 @@ public class RoundRobin implements AutoscaleAlgorithm{
List<?> partitions = Arrays.asList(networkPartitionContext.getPartitions());
int noOfPartitions = partitions.size();
-
+ if(log.isDebugEnabled()){
+ log.debug(String.format("Selecting a partition from 'Round Robin' algorithm, " +
+ "%s partitions in the [network partition]: %s ", noOfPartitions, networkPartitionContext.getId()));
+ }
for(int i=0; i < noOfPartitions; i++)
{
int currentPartitionIndex = networkPartitionContext.getCurrentPartitionIndex();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6313be8d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
index 5b9c3ab..3901502 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/partition/PartitionManager.java
@@ -124,7 +124,7 @@ private static final Log log = LogFactory.getLog(PartitionManager.class);
if (!networkPartitionContexts.containsKey(id)) {
NetworkPartitionContext networkPartitionContext =
new NetworkPartitionContext(
- id);
+ id, partitionGroup.getPartitionAlgo());
addNetworkPartitionContext(networkPartitionContext);
RegistryManager.getInstance().persistNetworkPartition(networkPartitionContext);
}
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6313be8d/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 4e9f1c9..6b727a4 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
@@ -13,8 +13,6 @@ import org.apache.stratos.autoscaler.partition.PartitionManager;
import org.apache.stratos.cloud.controller.deployment.partition.Partition;
import org.apache.stratos.cloud.controller.pojo.MemberContext;
-import java.util.Properties;
-
/**
* This will have utility methods that need to be executed from rule file...
*/
@@ -34,6 +32,9 @@ public class RuleTasksDelegator {
public AutoscaleAlgorithm getAutoscaleAlgorithm(String partitionAlgorithm){
AutoscaleAlgorithm autoscaleAlgorithm = null;
+ if(log.isDebugEnabled()){
+ log.debug(String.format("Partition algorithm is ", partitionAlgorithm));
+ }
if(Constants.ROUND_ROBIN_ALGORITHM_ID.equals(partitionAlgorithm)){
autoscaleAlgorithm = new RoundRobin();
http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/6313be8d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
index b1d74c5..d161577 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java
@@ -114,7 +114,8 @@ public class AutoscalerUtil {
for (PartitionGroup partitionGroup: deploymentPolicy.getPartitionGroups()){
- NetworkPartitionContext networkPartitionContext = new NetworkPartitionContext(partitionGroup.getId());
+ NetworkPartitionContext networkPartitionContext = new NetworkPartitionContext(partitionGroup.getId(),
+ partitionGroup.getPartitionAlgo());
for(Partition partition: partitionGroup.getPartitions()){
PartitionContext partitionContext = new PartitionContext(partition);