You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@stratos.apache.org by im...@apache.org on 2014/11/09 19:29:49 UTC
[42/59] [abbrv] stratos git commit: fixing an NPE while reading id in
Cluster monitor and using ApplicationBuilder to update the status of the
monitors
fixing an NPE while reading id in Cluster monitor and using ApplicationBuilder to update the status of the monitors
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/728ffe95
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/728ffe95
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/728ffe95
Branch: refs/heads/master
Commit: 728ffe9586cfdea970dcb43ab9c8dd3c20a43f21
Parents: b9a2894
Author: reka <rt...@gmail.com>
Authored: Sat Nov 8 23:35:40 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Sun Nov 9 12:02:21 2014 +0530
----------------------------------------------------------------------
.../monitor/ParentComponentMonitor.java | 25 ++++++++++----------
.../application/ApplicationMonitorFactory.java | 1 +
.../monitor/cluster/VMClusterMonitor.java | 2 ++
.../autoscaler/monitor/group/GroupMonitor.java | 7 +++---
4 files changed, 18 insertions(+), 17 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/728ffe95/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
index e7cfdb2..7d0ac8f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ParentComponentMonitor.java
@@ -20,19 +20,19 @@ package org.apache.stratos.autoscaler.monitor;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
-import org.apache.stratos.autoscaler.exception.DependencyBuilderException;
-import org.apache.stratos.autoscaler.exception.PartitionValidationException;
-import org.apache.stratos.autoscaler.exception.PolicyValidationException;
-import org.apache.stratos.autoscaler.exception.TopologyInConsistentException;
import org.apache.stratos.autoscaler.applications.dependency.DependencyBuilder;
import org.apache.stratos.autoscaler.applications.dependency.DependencyTree;
import org.apache.stratos.autoscaler.applications.dependency.context.ApplicationContext;
-import org.apache.stratos.autoscaler.applications.topic.ApplicationsEventPublisher;
+import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
import org.apache.stratos.autoscaler.event.publisher.ClusterStatusEventPublisher;
-import org.apache.stratos.autoscaler.status.checker.StatusChecker;
-import org.apache.stratos.messaging.domain.applications.ParentComponent;
+import org.apache.stratos.autoscaler.exception.DependencyBuilderException;
+import org.apache.stratos.autoscaler.exception.PartitionValidationException;
+import org.apache.stratos.autoscaler.exception.PolicyValidationException;
+import org.apache.stratos.autoscaler.exception.TopologyInConsistentException;
import org.apache.stratos.autoscaler.monitor.application.ApplicationMonitorFactory;
import org.apache.stratos.autoscaler.monitor.cluster.AbstractClusterMonitor;
+import org.apache.stratos.autoscaler.status.checker.StatusChecker;
+import org.apache.stratos.messaging.domain.applications.ParentComponent;
import java.util.HashMap;
import java.util.List;
@@ -55,7 +55,7 @@ public abstract class ParentComponentMonitor extends Monitor {
//Building the dependency for this monitor within the immediate children
dependencyTree = DependencyBuilder.getInstance().buildDependency(component);
}
-
+
/**
* This will start the child monitors based on the active of siblings according to start up order
*
@@ -107,7 +107,7 @@ public abstract class ParentComponentMonitor extends Monitor {
}*/
// move to inactive monitors list to use in the Terminated event
- protected synchronized void markMonitorAsInactive (String monitorKey) {
+ protected synchronized void markMonitorAsInactive(String monitorKey) {
if (!this.aliasToInActiveMonitorsMap.containsKey(monitorKey)) {
this.aliasToInActiveMonitorsMap.put(monitorKey,
@@ -116,7 +116,6 @@ public abstract class ParentComponentMonitor extends Monitor {
}
/**
- *
* @param idOfEvent
*/
protected void onChildInActiveEvent(String idOfEvent) {
@@ -132,12 +131,12 @@ public abstract class ParentComponentMonitor extends Monitor {
if (terminationList.size() ==
(this.aliasToActiveMonitorsMap.size() + this.aliasToInActiveMonitorsMap.size())) {
if (this.parent != null) {
- ApplicationsEventPublisher.sendGroupTerminatingEvent(this.appId, this.id);
+ ApplicationBuilder.handleGroupTerminatingEvent(this.appId, this.id);
}
} else {
//TODO application InActive
if (this.parent != null) {
- ApplicationsEventPublisher.sendGroupInActivateEvent(this.appId, this.id);
+ ApplicationBuilder.handleGroupInActivateEvent(this.appId, this.id);
}
//Since it is reached the most independent unit and has few independent monitors,
// has to put the children down to terminating
@@ -152,7 +151,7 @@ public abstract class ParentComponentMonitor extends Monitor {
if (monitor != null) {
if (monitor.hasActiveMonitors()) {
//it is a group
- ApplicationsEventPublisher.sendGroupTerminatingEvent(this.appId,
+ ApplicationBuilder.handleGroupTerminatingEvent(this.appId,
terminationContext.getId());
} else {
ClusterStatusEventPublisher.sendClusterTerminatingEvent(this.appId,
http://git-wip-us.apache.org/repos/asf/stratos/blob/728ffe95/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitorFactory.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitorFactory.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitorFactory.java
index 30e6415..a90660f 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitorFactory.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitorFactory.java
@@ -194,6 +194,7 @@ public class ApplicationMonitorFactory {
AbstractClusterMonitor clusterMonitor = ClusterMonitorFactory.getMonitor(cluster);
//Setting the parent of the cluster monitor
clusterMonitor.setParent(parentMonitor);
+ clusterMonitor.setId(clusterId);
//setting the dependent behaviour of the cluster monitor
if(parentMonitor.isDependent() || (context.isDependent() && context.hasChild())) {
clusterMonitor.setHasDependent(true);
http://git-wip-us.apache.org/repos/asf/stratos/blob/728ffe95/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 dd2895a..97f3da6 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
@@ -453,6 +453,8 @@ abstract public class VMClusterMonitor extends AbstractClusterMonitor {
log.info(String.format("Faulty member is terminated and removed from the active members list: "
+ "[member] %s [partition] %s [cluster] %s ", memberId, partitionId, clusterId));
}
+
+ StatusChecker.getInstance().onMemberFaultEvent(memberFaultEvent.getClusterId(), partitionId);
}
@Override
http://git-wip-us.apache.org/repos/asf/stratos/blob/728ffe95/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
index 1648402..e3324a8 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/group/GroupMonitor.java
@@ -23,7 +23,6 @@ import org.apache.commons.logging.LogFactory;
import org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder;
import org.apache.stratos.autoscaler.exception.DependencyBuilderException;
import org.apache.stratos.autoscaler.exception.TopologyInConsistentException;
-import org.apache.stratos.autoscaler.applications.topic.ApplicationsEventPublisher;
import org.apache.stratos.autoscaler.monitor.EventHandler;
import org.apache.stratos.autoscaler.monitor.MonitorStatusEventBuilder;
import org.apache.stratos.autoscaler.monitor.ParentComponentMonitor;
@@ -33,9 +32,9 @@ import org.apache.stratos.autoscaler.monitor.events.MonitorStatusEvent;
import org.apache.stratos.autoscaler.monitor.events.MonitorTerminateAllEvent;
import org.apache.stratos.autoscaler.status.checker.StatusChecker;
import org.apache.stratos.messaging.domain.applications.ApplicationStatus;
-import org.apache.stratos.messaging.domain.topology.ClusterStatus;
import org.apache.stratos.messaging.domain.applications.Group;
import org.apache.stratos.messaging.domain.applications.GroupStatus;
+import org.apache.stratos.messaging.domain.topology.ClusterStatus;
import org.apache.stratos.messaging.domain.topology.lifecycle.LifeCycleState;
/**
@@ -74,7 +73,7 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler
onChildInActiveEvent(id);
} else if (status1 == ClusterStatus.Created || status1 == GroupStatus.Created) {
- if(this.aliasToInActiveMonitorsMap.containsKey(id)) {
+ if (this.aliasToInActiveMonitorsMap.containsKey(id)) {
this.aliasToInActiveMonitorsMap.remove(id);
}
if (this.status == GroupStatus.Terminating) {
@@ -88,7 +87,7 @@ public class GroupMonitor extends ParentComponentMonitor implements EventHandler
} else if (status1 == ClusterStatus.Terminated || status1 == GroupStatus.Terminated) {
//Check whether all dependent goes Terminated and then start them in parallel.
- if(this.aliasToInActiveMonitorsMap.containsKey(id)) {
+ if (this.aliasToInActiveMonitorsMap.containsKey(id)) {
this.aliasToInActiveMonitorsMap.remove(id);
} else {
log.warn("[monitor] " + id + " cannot be found in the inActive monitors list");