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/11/30 20:24:04 UTC

[2/9] stratos git commit: Updating Partition context with min and max

Updating Partition context with min and max


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

Branch: refs/heads/master
Commit: 16c49768204c63cb2b52858e0f5e021b5203f112
Parents: 935faaf
Author: Lahiru Sandaruwan <la...@apache.org>
Authored: Mon Dec 1 00:40:08 2014 +0530
Committer: Lahiru Sandaruwan <la...@apache.org>
Committed: Mon Dec 1 00:40:08 2014 +0530

----------------------------------------------------------------------
 .../partition/ClusterLevelPartitionContext.java | 22 +++++++++++++-------
 .../partition/GroupLevelPartitionContext.java   |  4 ++--
 .../context/partition/PartitionContext.java     | 11 +++++-----
 .../ClusterLevelNetworkPartitionContext.java    | 15 ++++++++++++-
 4 files changed, 35 insertions(+), 17 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/16c49768/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
index 59bedb4..19a20cb 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/ClusterLevelPartitionContext.java
@@ -86,9 +86,9 @@ public class ClusterLevelPartitionContext extends PartitionContext implements Se
         this.terminationPendingMembers = new ArrayList<MemberContext>();
     }
     
-    public ClusterLevelPartitionContext(ChildLevelPartition childLevelPartition, Partition partition) {
+    public ClusterLevelPartitionContext(ChildLevelPartition childLevelPartition, Partition partition, int max) {
 
-        super(partition, childLevelPartition);
+        super(partition, childLevelPartition, max);
         this.minimumMemberCount = partition.getPartitionMin();
         this.pendingMembers = new ArrayList<MemberContext>();
         this.activeMembers = new ArrayList<MemberContext>();
@@ -383,7 +383,13 @@ public class ClusterLevelPartitionContext extends PartitionContext implements Se
         this.networkPartitionId = networkPartitionId;
     }
 
-    
+    @Override
+    public int getActiveInstanceCount() {
+        //return active cluster member count
+        return 0;
+    }
+
+
     public Map<String, MemberStatsContext> getMemberStatsContexts() {
         return memberStatsContexts;
     }
@@ -581,11 +587,11 @@ public class ClusterLevelPartitionContext extends PartitionContext implements Se
 
     }
 
-    @Override
-    public int getCurrentElementCount() {
-        //TODO find and return correct member instance count
-        return 0;
-    }
+//    @Override
+//    public int getCurrentElementCount() {
+//        //TODO find and return correct member instance count
+//        return 0;
+//    }
 
     private class PendingMemberWatcher implements Runnable {
         private ClusterLevelPartitionContext ctxt;

http://git-wip-us.apache.org/repos/asf/stratos/blob/16c49768/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
index a648255..a53284b 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/GroupLevelPartitionContext.java
@@ -87,8 +87,8 @@ public class GroupLevelPartitionContext extends PartitionContext implements Seri
         pendingInstanceExpiryTime = instanceExpiryTime;
     }
 
-    public GroupLevelPartitionContext(Partition partition, ChildLevelPartition childLevelPartition) {
-        super(partition, childLevelPartition);
+    public GroupLevelPartitionContext(Partition partition, ChildLevelPartition childLevelPartition, int max) {
+        super(partition, childLevelPartition, max);
         this.setPartition(partition);
         this.minimumInstanceCount = partition.getPartitionMin();
         this.partitionId = partition.getId();

http://git-wip-us.apache.org/repos/asf/stratos/blob/16c49768/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
index d9113fd..d33933a 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/PartitionContext.java
@@ -31,12 +31,13 @@ import java.util.*;
  *
  */
 
-public class PartitionContext implements Serializable{
+public abstract class PartitionContext implements Serializable{
 
     private static final long serialVersionUID = -2920388667345980487L;
     private static final Log log = LogFactory.getLog(ClusterLevelPartitionContext.class);
     protected String partitionId;
     private Partition partition;
+    private int max;
     private ChildLevelPartition childLevelPartition;
     private String networkPartitionId;
     // properties
@@ -47,10 +48,11 @@ public class PartitionContext implements Serializable{
 
     }
 
-    public PartitionContext(Partition partition, ChildLevelPartition childLevelPartition) {
+    public PartitionContext(Partition partition, ChildLevelPartition childLevelPartition, int max) {
 
         this.partition = partition;
         this.childLevelPartition = childLevelPartition;
+        this.max = max;
     }
 
     public Partition getPartition() {
@@ -77,10 +79,7 @@ public class PartitionContext implements Serializable{
         this.networkPartitionId = networkPartitionId;
     }
 
-    public int getCurrentElementCount() {
-        //TODO find and return correct member instance count
-        return 0;
-    }
+    public abstract int getActiveInstanceCount();
 
     public ChildLevelPartition getChildLevelPartition() {
         return childLevelPartition;

http://git-wip-us.apache.org/repos/asf/stratos/blob/16c49768/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/network/ClusterLevelNetworkPartitionContext.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/network/ClusterLevelNetworkPartitionContext.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/network/ClusterLevelNetworkPartitionContext.java
index 2f68b33..45dd636 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/network/ClusterLevelNetworkPartitionContext.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/context/partition/network/ClusterLevelNetworkPartitionContext.java
@@ -36,13 +36,18 @@ public class ClusterLevelNetworkPartitionContext extends NetworkPartitionContext
     private static final long serialVersionUID = 572769304374110159L;
     private final String id;
 
+    private final String partitionAlgorithm;
+    private int min;
+
     private Map<String, ClusterInstanceContext> instanceIdToClusterInstanceContextMap;
 
 
-    public ClusterLevelNetworkPartitionContext(String id) {
+    public ClusterLevelNetworkPartitionContext(String id, String partitionAlgorithm, int min) {
 
         //super(id, partitionAlgo, partitions);
         this.id = id;
+        this.partitionAlgorithm = partitionAlgorithm;
+        this.min = min;
 
         setInstanceIdToClusterInstanceContextMap(new HashMap<String, ClusterInstanceContext>());
 
@@ -101,4 +106,12 @@ public class ClusterLevelNetworkPartitionContext extends NetworkPartitionContext
     public void setInstanceIdToClusterInstanceContextMap(Map<String, ClusterInstanceContext> instanceIdToClusterInstanceContextMap) {
         this.instanceIdToClusterInstanceContextMap = instanceIdToClusterInstanceContextMap;
     }
+
+    public int getMin() {
+        return min;
+    }
+
+    public String getPartitionAlgorithm() {
+        return partitionAlgorithm;
+    }
 }