Updated Branches:
  refs/heads/master 00524c6e3 -> 69bad7ce3

Adding updates to member counts(for algorithms) when events received


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

Branch: refs/heads/master
Commit: e05aff0e5416ca29e55823ede7841e131f20add9
Parents: 819373a
Author: Lahiru Sandaruwan <[email protected]>
Authored: Tue Dec 17 23:21:22 2013 +0530
Committer: Lahiru Sandaruwan <[email protected]>
Committed: Tue Dec 17 23:21:22 2013 +0530

----------------------------------------------------------------------
 .../apache/stratos/autoscaler/NetworkPartitionContext.java    | 7 +++++--
 .../autoscaler/topology/AutoscalerTopologyReceiver.java       | 7 +++++--
 .../org/apache/stratos/autoscaler/util/AutoscalerUtil.java    | 2 ++
 3 files changed, 12 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e05aff0e/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 ef621de..b809cea 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
@@ -289,8 +289,11 @@ public class NetworkPartitionContext implements 
Serializable {
     }
 
     public void increaseMemberCountInPartitionBy(String partitionId, int 
count){
-
-         partitionToMemberCountMap.put(partitionId, 
getMemberCount(partitionId) + count);
+         if(!partitionCountExists(partitionId)){
+             addPartitionCount(partitionId, 1);
+         } else{
+            partitionToMemberCountMap.put(partitionId, 
getMemberCount(partitionId) + count);
+         }
      }
 
      public void decreaseMemberCountInPartitionBy(String partitionId, int 
count){

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e05aff0e/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
index be0e7af..f70e0ac 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/topology/AutoscalerTopologyReceiver.java
@@ -156,9 +156,12 @@ public class AutoscalerTopologyReceiver implements 
Runnable {
                        TopologyManager.acquireReadLock();
                                        MemberTerminatedEvent e = 
(MemberTerminatedEvent) event;
                     String networkPartitionId = e.getNetworkPartitionId();
-                                       
AutoscalerContext.getInstance().getMonitor(e.getClusterId())
-                            
.getNetworkPartitionCtxt(networkPartitionId).getPartitionCtxt(e.getPartitionId())
+                                       NetworkPartitionContext 
networkPartitionContext = 
AutoscalerContext.getInstance().getMonitor(e.getClusterId())
+                            .getNetworkPartitionCtxt(networkPartitionId);
+
+                    
networkPartitionContext.getPartitionCtxt(e.getPartitionId())
                             .removeMemberStatsContext(e.getMemberId());
+                    
networkPartitionContext.decreaseMemberCountInPartitionBy(e.getPartitionId(), 1);
 //                                     ClusterContext clusCtx = 
monitor.getClusterCtxt();
 //                                     String networkPartitionId = monitor.
 //                    if (networkPartitionId != null) {

http://git-wip-us.apache.org/repos/asf/incubator-stratos/blob/e05aff0e/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 b3358af..0f20f4d 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
@@ -131,8 +131,10 @@ public class AutoscalerUtil {
 
                         if(MemberStatus.Activated.equals(member.getStatus())){
                             partitionContext.addActiveMember(memberContext);
+                            
networkPartitionContext.increaseMemberCountInPartitionBy(partition.getId(), 1);
                         } else 
if(MemberStatus.Created.equals(member.getStatus()) || 
MemberStatus.Starting.equals(member.getStatus())){
                             partitionContext.addPendingMember(memberContext);
+                            
networkPartitionContext.increaseMemberCountInPartitionBy(partition.getId(), 1);
                         } else 
if(MemberStatus.Suspended.equals(member.getStatus())){
                             partitionContext.addFaultyMember(memberId);
                         }

Reply via email to