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);