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/10/29 13:00:10 UTC
git commit: fixing the logic which decides cluster inActive
Repository: stratos
Updated Branches:
refs/heads/4.0.0-grouping 3c43277e7 -> b51b0b793
fixing the logic which decides cluster inActive
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/b51b0b79
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/b51b0b79
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/b51b0b79
Branch: refs/heads/4.0.0-grouping
Commit: b51b0b793961bd9b3784a996730225a05988bd8f
Parents: 3c43277
Author: reka <rt...@gmail.com>
Authored: Wed Oct 29 17:29:41 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Wed Oct 29 17:29:50 2014 +0530
----------------------------------------------------------------------
.../health/AutoscalerHealthStatEventReceiver.java | 3 ++-
.../monitor/application/ApplicationMonitor.java | 2 +-
.../stratos/autoscaler/monitor/group/GroupMonitor.java | 2 +-
.../autoscaler/status/checker/StatusChecker.java | 12 ++++++------
4 files changed, 10 insertions(+), 9 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/b51b0b79/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/AutoscalerHealthStatEventReceiver.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/AutoscalerHealthStatEventReceiver.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/AutoscalerHealthStatEventReceiver.java
index cf072f3..f192cee 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/AutoscalerHealthStatEventReceiver.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/message/receiver/health/AutoscalerHealthStatEventReceiver.java
@@ -656,8 +656,9 @@ public class AutoscalerHealthStatEventReceiver implements Runnable {
}
return;
}
+
//Check the clusterStatus as part of the member fault event
- StatusChecker.getInstance().onMemberFaultEvent(clusterId, partitionCtxt);
+ StatusChecker.getInstance().onMemberFaultEvent(clusterId, partitionId);
// terminate the faulty member
CloudControllerClient ccClient = CloudControllerClient.getInstance();
http://git-wip-us.apache.org/repos/asf/stratos/blob/b51b0b79/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
index 1ec7399..2bf85a6 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/application/ApplicationMonitor.java
@@ -170,7 +170,7 @@ public class ApplicationMonitor extends ParentComponentMonitor {
} else if (status1 == ClusterStatus.Terminated || status1 == GroupStatus.Terminated) {
//Check whether all dependent goes Terminated and then start them in parallel.
this.aliasToInActiveMonitorsMap.remove(id);
- if (this.status != ApplicationStatus.Terminating) {
+ if (this.status != ApplicationStatus.Terminating || this.status != ApplicationStatus.Terminated) {
onChildTerminatedEvent(id);
} else {
StatusChecker.getInstance().onChildStatusChange(id, this.id, this.appId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/b51b0b79/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 9b9695a..55f3b4e 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
@@ -81,7 +81,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.
this.aliasToInActiveMonitorsMap.remove(id);
- if (this.status != GroupStatus.Terminating) {
+ if (this.status != GroupStatus.Terminating || this.status != GroupStatus.Terminated) {
onChildTerminatedEvent(id);
} else {
StatusChecker.getInstance().onChildStatusChange(id, this.id, this.appId);
http://git-wip-us.apache.org/repos/asf/stratos/blob/b51b0b79/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java
----------------------------------------------------------------------
diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java
index d2d8b44..3a925d1 100644
--- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java
+++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/checker/StatusChecker.java
@@ -156,13 +156,13 @@ public class StatusChecker {
/**
* @param clusterId
- * @param partitionContext is to decide in which partition has less members while others have active members
+ * @param partitionId is to decide in which partition has less members while others have active members
*/
- public void onMemberFaultEvent(final String clusterId, final PartitionContext partitionContext) {
+ public void onMemberFaultEvent(final String clusterId, final String partitionId) {
Runnable group = new Runnable() {
public void run() {
ClusterMonitor monitor = (ClusterMonitor) AutoscalerContext.getInstance().getMonitor(clusterId);
- boolean clusterInActive = getClusterInActive(monitor, partitionContext);
+ boolean clusterInActive = getClusterInActive(monitor, partitionId);
String appId = monitor.getAppId();
if (clusterInActive) {
//if the monitor is dependent, temporarily pausing it
@@ -185,12 +185,12 @@ public class StatusChecker {
groupThread.start();
}
- private boolean getClusterInActive(AbstractClusterMonitor monitor, PartitionContext partitionContext) {
+ private boolean getClusterInActive(AbstractClusterMonitor monitor, String partitionId) {
boolean clusterInActive = false;
for (NetworkPartitionContext networkPartitionContext : monitor.getNetworkPartitionCtxts().values()) {
for (PartitionContext partition : networkPartitionContext.getPartitionCtxts().values()) {
- if (partitionContext.getPartitionId().equals(partition.getPartitionId()) &&
- partition.getActiveMemberCount() < partition.getMinimumMemberCount()) {
+ if (partitionId.equals(partition.getPartitionId()) &&
+ partition.getActiveMemberCount() <= partition.getMinimumMemberCount()) {
clusterInActive = true;
return clusterInActive;
}