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 <[email protected]> Authored: Thu Dec 26 01:41:49 2013 +0530 Committer: Lahiru Sandaruwan <[email protected]> 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);
