fixing NPE while accessing cluster lock and fixing ClusterResetEvent
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/22ae2875 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/22ae2875 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/22ae2875 Branch: refs/heads/master Commit: 22ae287527a4842fd63521f615aa38577127c056 Parents: 48797b7 Author: reka <[email protected]> Authored: Sun Nov 9 14:37:12 2014 +0530 Committer: reka <[email protected]> Committed: Sun Nov 9 14:37:12 2014 +0530 ---------------------------------------------------------------------- .../event/publisher/ClusterStatusEventPublisher.java | 2 +- .../receiver/topology/AutoscalerTopologyEventReceiver.java | 7 ++++--- .../autoscaler/monitor/cluster/AbstractClusterMonitor.java | 1 - 3 files changed, 5 insertions(+), 5 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/22ae2875/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/ClusterStatusEventPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/ClusterStatusEventPublisher.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/ClusterStatusEventPublisher.java index 0fe4bd4..368d7b4 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/ClusterStatusEventPublisher.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/publisher/ClusterStatusEventPublisher.java @@ -87,8 +87,8 @@ public class ClusterStatusEventPublisher { } public static void sendClusterActivatedEvent(String appId, String serviceName, String clusterId) { + TopologyManager.acquireReadLockForCluster(serviceName, clusterId); try { - TopologyManager.acquireReadLockForCluster(serviceName, clusterId); Service service = TopologyManager.getTopology().getService(serviceName); if (service != null) { Cluster cluster = service.getCluster(clusterId); http://git-wip-us.apache.org/repos/asf/stratos/blob/22ae2875/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java index ab29c18..d446e88 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java @@ -209,8 +209,8 @@ public class AutoscalerTopologyEventReceiver implements Runnable { @Override protected void onEvent(Event event) { log.info("[ClusterCreatedEvent] Received: " + event.getClass()); - ClusterCreatedEvent clusterCreatedEvent = (ClusterCreatedEvent) event; - String clusterId = clusterCreatedEvent.getCluster().getClusterId(); + ClusterResetEvent clusterResetEvent = (ClusterResetEvent) event; + String clusterId = clusterResetEvent.getClusterId(); AutoscalerContext asCtx = AutoscalerContext.getInstance(); AbstractClusterMonitor monitor; monitor = asCtx.getClusterMonitor(clusterId); @@ -222,8 +222,9 @@ public class AutoscalerTopologyEventReceiver implements Runnable { return; } //changing the status in the monitor, will notify its parent monitor - monitor.setStop(true); + monitor.destroy(); monitor.setStatus(ClusterStatus.Created); + } }); http://git-wip-us.apache.org/repos/asf/stratos/blob/22ae2875/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java index f7791fc..48db321 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java @@ -67,7 +67,6 @@ public abstract class AbstractClusterMonitor extends Monitor implements Runnable private static final Log log = LogFactory.getLog(AbstractClusterMonitor.class); private String clusterId; - private String serviceId; private ClusterStatus status; private int monitoringIntervalMilliseconds;
