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/11 14:54:37 UTC
[7/7] stratos git commit: fixing undeployment by making the status
calculation sync call
fixing undeployment by making the status calculation sync call
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/d64f3143
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/d64f3143
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/d64f3143
Branch: refs/heads/4.1.0-test
Commit: d64f31438ac9053334b221be4bb54499fa769085
Parents: 9ccd501
Author: reka <rt...@gmail.com>
Authored: Thu Dec 11 19:19:49 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Thu Dec 11 19:24:11 2014 +0530
----------------------------------------------------------------------
.../applications/topic/ApplicationBuilder.java | 7 +++++
.../stratos/autoscaler/monitor/Monitor.java | 2 ++
.../monitor/cluster/AbstractClusterMonitor.java | 2 --
.../monitor/component/ApplicationMonitor.java | 5 ++++
.../monitor/component/GroupMonitor.java | 4 +++
.../component/ParentComponentMonitor.java | 12 ++++++---
.../group/GroupStatusProcessorChain.java | 28 ++++++++------------
.../ApplicationInstanceActivatedEvent.java | 1 -
8 files changed, 38 insertions(+), 23 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/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 1194a6f..ae87ac2 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
@@ -25,6 +25,7 @@ import org.apache.stratos.autoscaler.applications.pojo.ApplicationClusterContext
import org.apache.stratos.autoscaler.client.CloudControllerClient;
import org.apache.stratos.autoscaler.context.AutoscalerContext;
import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
+import org.apache.stratos.autoscaler.monitor.Monitor;
import org.apache.stratos.autoscaler.monitor.component.ApplicationMonitor;
import org.apache.stratos.autoscaler.monitor.component.GroupMonitor;
import org.apache.stratos.autoscaler.pojo.policy.PolicyManager;
@@ -345,6 +346,12 @@ public class ApplicationBuilder {
//removing the group instance and context
GroupMonitor monitor = getGroupMonitor(appId, groupId);
if(monitor != null) {
+ if(monitor.hasMonitors()) {
+ for(Monitor monitor1 : monitor.getAliasToActiveMonitorsMap().values()) {
+ //destroying the drools
+ monitor1.destroy();
+ }
+ }
monitor.getNetworkPartitionContext(context.getNetworkPartitionId()).
removeClusterGroupContext(instanceId);
monitor.removeInstance(instanceId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/Monitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/Monitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/Monitor.java
index 5656b19..88159c1 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/Monitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/Monitor.java
@@ -43,6 +43,8 @@ public abstract class Monitor implements EventHandler {
//monitors map, key=InstanceId and value=ClusterInstance/GroupInstance/ApplicationInstance
protected Map<String, Instance> instanceIdToInstanceMap;
+ public abstract void destroy();
+
public Monitor() {
this.instanceIdToInstanceMap = new HashMap<String, Instance>();
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
index 1248224..d39b805 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/AbstractClusterMonitor.java
@@ -94,8 +94,6 @@ public abstract class AbstractClusterMonitor extends Monitor implements Runnable
protected abstract void monitor();
- public abstract void destroy();
-
//handle health events
public abstract void handleAverageLoadAverageEvent(
AverageLoadAverageEvent averageLoadAverageEvent);
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/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 9d0a943..aecfbf8 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
@@ -359,4 +359,9 @@ public class ApplicationMonitor extends ParentComponentMonitor {
public void setTerminating(boolean isTerminating) {
this.isTerminating = isTerminating;
}
+
+ @Override
+ public void destroy() {
+ //TODO to wipe out the drools
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/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 15aa733..e13cef4 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
@@ -680,4 +680,8 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable {
}
+ @Override
+ public void destroy() {
+ //TODO to stop all the drools
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/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 2b6ce96..46e69ee 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
@@ -287,14 +287,20 @@ public abstract class ParentComponentMonitor extends Monitor {
/**
* @param childId
*/
- protected void onChildInactiveEvent(String childId, String instanceId) {
+ protected void onChildInactiveEvent(String childId, final String instanceId) {
List<ApplicationChildContext> terminationList;
Monitor monitor;
terminationList = this.startupDependencyTree.getTerminationDependencies(childId);
//Need to notify the parent about the status change from Active-->InActive
// TODO to make app also inaction if (this.parent != null) {
- ServiceReferenceHolder.getInstance().getGroupStatusProcessorChain().
- process(this.id, this.appId, instanceId);
+ Runnable monitoringRunnable = new Runnable() {
+ @Override
+ public void run() {
+ ServiceReferenceHolder.getInstance().getGroupStatusProcessorChain().
+ process(id, appId, instanceId);
+ }
+ };
+ monitoringRunnable.run();
//}
//TODO checking whether terminating them in reverse order,
// TODO if so can handle it in the parent event.
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessorChain.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessorChain.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessorChain.java
index 9b0631e..92c0951 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessorChain.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusProcessorChain.java
@@ -50,24 +50,18 @@ public class GroupStatusProcessorChain extends StatusProcessorChain {
}
public void process(final String idOfComponent, final String appId,
- final String instanceId) {
+ final String instanceId) {
- Runnable monitoringRunnable = new Runnable() {
- @Override
- public void run() {
- GroupStatusProcessor root = (GroupStatusProcessor) list.getFirst();
- if (root == null) {
- throw new RuntimeException("Message processor chain is not initialized");
- }
- if (log.isInfoEnabled()) {
- log.info("GroupProcessor chain calculating the status for the group " +
- "[ " + idOfComponent + " ]");
- }
- root.process(idOfComponent, appId, instanceId);
- }
- };
- monitoringRunnable.run();
- }
+ GroupStatusProcessor root = (GroupStatusProcessor) list.getFirst();
+ if (root == null) {
+ throw new RuntimeException("Message processor chain is not initialized");
+ }
+ if (log.isInfoEnabled()) {
+ log.info("GroupProcessor chain calculating the status for the group " +
+ "[ " + idOfComponent + " ]");
+ }
+ root.process(idOfComponent, appId, instanceId);
+ }
}
http://git-wip-us.apache.org/repos/asf/stratos/blob/d64f3143/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceActivatedEvent.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceActivatedEvent.java b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceActivatedEvent.java
index 855f07e..7de8ca8 100644
--- a/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceActivatedEvent.java
+++ b/components/org.apache.stratos.messaging/src/main/java/org/apache/stratos/messaging/event/applications/ApplicationInstanceActivatedEvent.java
@@ -26,7 +26,6 @@ import java.io.Serializable;
* This event will be fired upon the application activated is detected.
*/
public class ApplicationInstanceActivatedEvent extends Event implements Serializable {
- private static final long serialVersionUID = 2625412714611885089L;
private String appId;
private String instanceId;