You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by re...@apache.org on 2014/12/13 18:23:10 UTC

stratos git commit: fixing killall termination behviour issue

Repository: stratos
Updated Branches:
  refs/heads/4.1.0-test 9c7abbbe4 -> b7c4a428c


fixing killall termination behviour issue


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

Branch: refs/heads/4.1.0-test
Commit: b7c4a428c44123dff068717561ee8df4475dfc69
Parents: 9c7abbb
Author: reka <rt...@gmail.com>
Authored: Sat Dec 13 11:34:36 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Sat Dec 13 22:52:43 2014 +0530

----------------------------------------------------------------------
 .../applications/topic/ApplicationBuilder.java           | 11 ++++++-----
 .../autoscaler/monitor/cluster/VMClusterMonitor.java     |  2 +-
 .../monitor/component/ParentComponentMonitor.java        |  2 ++
 3 files changed, 9 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/b7c4a428/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
index 2b3388b..3fdfe21 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java
@@ -386,8 +386,11 @@ public class ApplicationBuilder {
                 context.setStatus(status);
                 //removing the group instance and context
                 GroupMonitor monitor = getGroupMonitor(appId, groupId);
+                ApplicationMonitor applicationMonitor = AutoscalerContext.getInstance().
+                                                    getAppMonitor(appId);
+
                 if(monitor != null) {
-                    if(monitor.hasMonitors()) {
+                    if(monitor.hasMonitors() && applicationMonitor.isTerminating()) {
                        for(Monitor monitor1 : monitor.getAliasToActiveMonitorsMap().values()) {
                            //destroying the drools
                            monitor1.destroy();
@@ -402,12 +405,10 @@ public class ApplicationBuilder {
                     }
                     monitor.removeInstance(instanceId);
                     group.removeInstance(instanceId);
+                    ApplicationHolder.persistApplication(application);
+                    ApplicationsEventPublisher.sendGroupInstanceTerminatedEvent(appId, groupId, instanceId);
                     monitor.setStatus(status, instanceId);
                 }
-
-                ApplicationHolder.persistApplication(application);
-                ApplicationsEventPublisher.sendGroupInstanceTerminatedEvent(appId, groupId, instanceId);
-
             } else {
                 log.warn("Group state transition is not valid: [group-id] " + groupId +
                         " [instance-id] " + instanceId + " [current-state] " + context.getStatus()

http://git-wip-us.apache.org/repos/asf/stratos/blob/b7c4a428/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
index bd841ba..50bc7b8 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/VMClusterMonitor.java
@@ -242,7 +242,7 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
 
                             if (log.isDebugEnabled()) {
                                 log.debug(String.format("Running minimum check for cluster instance %s ",
-                                        instanceContext.getId()));
+                                        instanceContext.getId() +  " for the cluster: " + clusterId));
                             }
 
                             minCheckFactHandle = AutoscalerRuleEvaluator.evaluate(getMinCheckKnowledgeSession(),

http://git-wip-us.apache.org/repos/asf/stratos/blob/b7c4a428/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
index bc9dcc6..3f6a5eb 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/component/ParentComponentMonitor.java
@@ -373,6 +373,8 @@ public abstract class ParentComponentMonitor extends Monitor {
         if (terminationList != null) {
             allDependentTerminated = allDependentTerminated(terminationList);
         }
+        log.info("Calculating the dependencies to be started upon the termination of the " +
+                "group/cluster " + eventId + " for [instance] " + instanceId);
 
         List<ApplicationChildContext> parentContexts = this.startupDependencyTree.
                 findAllParentContextWithId(eventId);