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

Reply via email to