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