Repository: stratos Updated Branches: refs/heads/4.0.0-grouping c67af55c4 -> bd9197ded
fixing NPE in member activation Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/bd9197de Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/bd9197de Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/bd9197de Branch: refs/heads/4.0.0-grouping Commit: bd9197ded0006ac6ddae9645d42eb85d99027eba Parents: c67af55 Author: reka <[email protected]> Authored: Fri Sep 26 17:11:11 2014 +0530 Committer: reka <[email protected]> Committed: Fri Sep 26 17:11:11 2014 +0530 ---------------------------------------------------------------------- .../AutoscalerTopologyEventReceiver.java | 20 ++++++++++++++++++-- .../status/checker/StatusChecker.java | 3 ++- 2 files changed, 20 insertions(+), 3 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/bd9197de/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java index eefb907..5220390 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/topology/AutoscalerTopologyEventReceiver.java @@ -94,7 +94,7 @@ public class AutoscalerTopologyEventReceiver implements Runnable { try { TopologyManager.acquireReadLock(); if(!topologyInitialized) { - topologyInitialized = true; + topologyInitialized = true; for (Application application : TopologyManager.getTopology().getApplications()) { startApplicationMonitor(application); } @@ -446,9 +446,25 @@ public class AutoscalerTopologyEventReceiver implements Runnable { TopologyManager.acquireReadLock(); MemberActivatedEvent e = (MemberActivatedEvent) event; + String networkPartitionId = e.getNetworkPartitionId(); + String clusterId = e.getClusterId(); + String partitionId = e.getPartitionId(); String memberId = e.getMemberId(); - PartitionContext partitionContext = null; + AbstractClusterMonitor monitor; + + if (AutoscalerContext.getInstance().monitorExist(clusterId)) { + monitor = AutoscalerContext.getInstance().getMonitor(clusterId); + } else { + //This is LB member + monitor = AutoscalerContext.getInstance().getLBMonitor(clusterId); + } + + NetworkPartitionContext networkPartitionContext = monitor. + getNetworkPartitionCtxt(networkPartitionId); + + PartitionContext partitionContext = networkPartitionContext. + getPartitionCtxt(partitionId); partitionContext.addMemberStatsContext(new MemberStatsContext(memberId)); // TODO starting the pending clusters which are waiting for this member activation in a cluster http://git-wip-us.apache.org/repos/asf/stratos/blob/bd9197de/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java index 06d24ae..4db5017 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java @@ -66,8 +66,9 @@ public class StatusChecker { } else if (partitionContext.getActiveMemberCount() > partitionContext.getMinimumMemberCount()) { log.info("cluster already activated..."); clusterActive = true; + } else { + clusterActive = false; } - clusterActive = false; } } // if active then notify upper layer
