starting the scheduler in the restart of stratos
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/303daadb Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/303daadb Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/303daadb Branch: refs/heads/master Commit: 303daadb366e220da16ab2f43f789a55dc3f2b11 Parents: 3ac0be5 Author: reka <[email protected]> Authored: Sun Dec 7 15:50:59 2014 +0530 Committer: reka <[email protected]> Committed: Sun Dec 7 22:10:30 2014 +0530 ---------------------------------------------------------------------- .../apache/stratos/autoscaler/monitor/MonitorFactory.java | 6 ++++++ .../autoscaler/monitor/component/GroupMonitor.java | 10 ++++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/303daadb/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java index 278b247..a80e50c 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/MonitorFactory.java @@ -298,6 +298,12 @@ public class MonitorFactory { if (!stateChanged && clusterInstance.getStatus() != ClusterStatus.Created) { clusterMonitor.notifyParentMonitor(clusterInstance.getStatus(), clusterInstance.getInstanceId()); + + if (clusterMonitor.hasMonitoringStarted().compareAndSet(false, true)) { + clusterMonitor.startScheduler(); + log.info("Monitoring task for Cluster Monitor with cluster id " + + clusterId + " started successfully"); + } } } else { createClusterInstance(cluster.getServiceName(), clusterId, null, parentInstanceId, partitionId, http://git-wip-us.apache.org/repos/asf/stratos/blob/303daadb/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java index ec73fd1..f0b43ec 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/GroupMonitor.java @@ -176,8 +176,14 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable { onChildActivatedEvent(id, instanceId); } else if (status1 == ClusterStatus.Inactive || status1 == GroupStatus.Inactive) { - this.markMonitorAsInactive(instanceId); - onChildInactiveEvent(id, instanceId); + //handling restart of stratos + if(!this.aliasToActiveMonitorsMap.get(id).hasStartupDependents()) { + onChildActivatedEvent(id, instanceId); + } else { + this.markMonitorAsInactive(instanceId); + onChildInactiveEvent(id, instanceId); + } + } else if (status1 == ClusterStatus.Terminating || status1 == GroupStatus.Terminating) { //mark the child monitor as inActive in the map
