Repository: stratos
Updated Branches:
  refs/heads/master 8edde2bce -> 605d2875d


fixing group instances loading one when restart happens


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/605d2875
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/605d2875
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/605d2875

Branch: refs/heads/master
Commit: 605d2875df74ea2cc7ff2499d97ecf6740d1c557
Parents: 8edde2b
Author: reka <[email protected]>
Authored: Tue Jun 30 15:04:45 2015 +0530
Committer: reka <[email protected]>
Committed: Tue Jun 30 15:04:45 2015 +0530

----------------------------------------------------------------------
 .../stratos/autoscaler/monitor/MonitorFactory.java      | 12 ++++++++----
 .../monitor/component/ApplicationMonitor.java           | 11 +++++++++++
 2 files changed, 19 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/605d2875/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 ed00369..2e6b1b8 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
@@ -148,12 +148,16 @@ public class MonitorFactory {
 
         //Find whether any other instances exists in group
         // which has not been added to in-memory model in the restart
-        Collection<Instance> instances = parentMonitor.getInstances();
-        for(Instance instance : instances) {
-            if(!instanceIds.contains(instance.getInstanceId())) {
-                instanceIds.add(instance.getInstanceId());
+        ApplicationMonitor applicationMonitor = 
AutoscalerContext.getInstance().getAppMonitor(appId);
+        if(applicationMonitor != null && applicationMonitor.isTerminating()) {
+            Collection<Instance> instances = parentMonitor.getInstances();
+            for(Instance instance : instances) {
+                if(!instanceIds.contains(instance.getInstanceId())) {
+                    instanceIds.add(instance.getInstanceId());
+                }
             }
         }
+
         // Starting the minimum dependencies
         groupMonitor.createInstanceAndStartDependencyAtStartup(group, 
instanceIds);
         //Starting the scheduler for the group monitor

http://git-wip-us.apache.org/repos/asf/stratos/blob/605d2875/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
index 89b9d17..e2f91ec 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ApplicationMonitor.java
@@ -71,6 +71,8 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
     //Flag to set whether application is terminating
     private boolean isTerminating;
 
+    private boolean isRestarting;
+
     // Flag to set if forceful un-deployment is invoked for the application.
     private boolean force;
 
@@ -571,6 +573,7 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
                     initialStartup = false;
                 } else {
                     //create new app instance as it doesn't exist in the 
Topology
+                    this.setRestarting(true);
                     instanceId = 
handleApplicationInstanceCreation(application, context, null);
 
                 }
@@ -824,4 +827,12 @@ public class ApplicationMonitor extends 
ParentComponentMonitor {
     public boolean createInstanceOnTermination(String instanceId) {
         return false;
     }
+
+    public boolean isRestarting() {
+        return isRestarting;
+    }
+
+    public void setRestarting(boolean isRestarting) {
+        this.isRestarting = isRestarting;
+    }
 }

Reply via email to