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; + } }
