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

Reply via email to