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/12 05:51:01 UTC
[1/4] stratos git commit: fixing to create VMClusterContext only once
Repository: stratos
Updated Branches:
refs/heads/4.1.0-test 4862a8b76 -> 006129129
fixing to create VMClusterContext only once
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/00612912
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/00612912
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/00612912
Branch: refs/heads/4.1.0-test
Commit: 00612912923bb5ff9bce754c35a414f0a4bcd96c
Parents: 0183827
Author: reka <rt...@gmail.com>
Authored: Fri Dec 12 10:20:38 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Fri Dec 12 10:20:47 2014 +0530
----------------------------------------------------------------------
.../autoscaler/monitor/cluster/VMClusterMonitor.java | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/00612912/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 ccd5e03..361148e 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
@@ -1132,10 +1132,13 @@ public class VMClusterMonitor extends AbstractClusterMonitor {
ClusterInstance clusterInstance = cluster.getInstanceContexts(parentInstanceId);
if (clusterInstance != null) {
// Cluster instance is already there. No need to create one.
- VMClusterContext clusterContext;
- clusterContext =
- ClusterContextFactory.getVMClusterContext(clusterInstance.getInstanceId(), cluster);
- this.setClusterContext(clusterContext);
+ VMClusterContext clusterContext = (VMClusterContext) this.getClusterContext();
+ if(clusterContext == null) {
+ clusterContext =
+ ClusterContextFactory.getVMClusterContext(clusterInstance.getInstanceId(), cluster);
+ this.setClusterContext(clusterContext);
+ }
+
// create VMClusterContext and then add all the instanceContexts
clusterContext.addInstanceContext(parentInstanceId, cluster);
if (this.getInstance(clusterInstance.getInstanceId()) == null) {
[2/4] stratos git commit: removnig inactive restart handling as it
causes issue in the actual inactive case for monitors
Posted by re...@apache.org.
removnig inactive restart handling as it causes issue in the actual inactive case for monitors
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/5a49d49b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/5a49d49b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/5a49d49b
Branch: refs/heads/4.1.0-test
Commit: 5a49d49bb2a58e34375a3f1600cc8217417ed965
Parents: 56dd783
Author: reka <rt...@gmail.com>
Authored: Fri Dec 12 01:41:48 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Fri Dec 12 10:20:47 2014 +0530
----------------------------------------------------------------------
.../stratos/autoscaler/monitor/component/GroupMonitor.java | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/5a49d49b/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 e13cef4..2baba68 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
@@ -185,13 +185,13 @@ public class GroupMonitor extends ParentComponentMonitor implements Runnable {
onChildActivatedEvent(childId, instanceId);
} else if (status1 == ClusterStatus.Inactive || status1 == GroupStatus.Inactive) {
- //handling restart of stratos
- if (!aliasToActiveMonitorsMap.get(childId).hasStartupDependents()) {
+ //TODO handling restart of stratos
+ /*if (!aliasToActiveMonitorsMap.get(childId).hasStartupDependents()) {
onChildActivatedEvent(childId, instanceId);
- } else {
+ } else {*/
markInstanceAsInactive(childId, instanceId);
onChildInactiveEvent(childId, instanceId);
- }
+ //}
} else if (status1 == ClusterStatus.Terminating || status1 == GroupStatus.Terminating) {
//mark the child monitor as inactive in the map
[3/4] stratos git commit: fixing when putting into terminating map
Posted by re...@apache.org.
fixing when putting into terminating map
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/0183827b
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/0183827b
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/0183827b
Branch: refs/heads/4.1.0-test
Commit: 0183827b26c642422da68669a44f665c693b7b7b
Parents: 5a49d49
Author: reka <rt...@gmail.com>
Authored: Fri Dec 12 01:50:10 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Fri Dec 12 10:20:47 2014 +0530
----------------------------------------------------------------------
.../component/ParentComponentMonitor.java | 155 +++++++++----------
1 file changed, 77 insertions(+), 78 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/0183827b/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 7a60801..2bf3a81 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
@@ -49,7 +49,10 @@ import org.apache.stratos.messaging.domain.instance.Instance;
import org.apache.stratos.messaging.domain.topology.ClusterStatus;
import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.List;
+import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
/**
@@ -172,11 +175,11 @@ public abstract class ParentComponentMonitor extends Monitor {
//start the first dependency which went to terminated
List<ApplicationChildContext> applicationContexts = this.startupDependencyTree.
getStarAbleDependenciesByTermination(this, instanceId);
- for(ApplicationChildContext context : applicationContexts) {
- if(context instanceof GroupChildContext) {
+ for (ApplicationChildContext context : applicationContexts) {
+ if (context instanceof GroupChildContext) {
GroupMonitor groupMonitor = (GroupMonitor) this.aliasToActiveMonitorsMap.
- get(context.getId());
- } else if(context instanceof ClusterChildContext) {
+ get(context.getId());
+ } else if (context instanceof ClusterChildContext) {
}
}
@@ -487,8 +490,8 @@ public abstract class ParentComponentMonitor extends Monitor {
TopologyManager.acquireReadLockForCluster(monitor1.getServiceId(),
monitor1.getClusterId());
try {
- if (((ClusterInstance)monitor1.getInstance(instanceId)).getStatus()
- == ClusterStatus.Active) {
+ if (((ClusterInstance) monitor1.getInstance(instanceId)).getStatus()
+ == ClusterStatus.Active) {
parentsActive = true;
}
} finally {
@@ -518,7 +521,7 @@ public abstract class ParentComponentMonitor extends Monitor {
if (this.inactiveInstancesMap.containsKey(childId) &&
this.inactiveInstancesMap.get(childId).contains(instanceId)) {
this.inactiveInstancesMap.get(childId).remove(instanceId);
- if(this.inactiveInstancesMap.get(childId).isEmpty()) {
+ if (this.inactiveInstancesMap.get(childId).isEmpty()) {
this.inactiveInstancesMap.remove(childId);
}
}
@@ -529,7 +532,7 @@ public abstract class ParentComponentMonitor extends Monitor {
if (this.terminatingInstancesMap.containsKey(childId) &&
this.terminatingInstancesMap.get(childId).contains(instanceId)) {
this.terminatingInstancesMap.get(childId).remove(instanceId);
- if(this.terminatingInstancesMap.get(childId).isEmpty()) {
+ if (this.terminatingInstancesMap.get(childId).isEmpty()) {
this.terminatingInstancesMap.remove(childId);
}
}
@@ -537,20 +540,16 @@ public abstract class ParentComponentMonitor extends Monitor {
// move to inactive monitors list to use in the Terminated event
protected synchronized void markInstanceAsTerminating(String childId, String instanceId) {
- if (!this.terminatingInstancesMap.containsKey(childId)) {
- if (this.inactiveInstancesMap.containsKey(childId) &&
- this.inactiveInstancesMap.get(childId).contains(instanceId)) {
- this.inactiveInstancesMap.get(childId).remove(instanceId);
- this.terminatingInstancesMap.get(childId).add(instanceId);
- } else {
- if (this.inactiveInstancesMap.containsKey(childId) &&
- this.inactiveInstancesMap.get(childId).contains(instanceId)) {
- this.inactiveInstancesMap.get(childId).remove(instanceId);
- }
- List<String> instanceIds = new ArrayList<String>();
- instanceIds.add(instanceId);
- this.terminatingInstancesMap.put(childId, instanceIds);
- }
+ if (this.inactiveInstancesMap.containsKey(childId) &&
+ this.inactiveInstancesMap.get(childId).contains(instanceId)) {
+ this.inactiveInstancesMap.get(childId).remove(instanceId);
+ }
+ if (this.terminatingInstancesMap.containsKey(childId)) {
+ this.terminatingInstancesMap.get(childId).add(instanceId);
+ } else {
+ List<String> instanceIds = new ArrayList<String>();
+ instanceIds.add(instanceId);
+ this.terminatingInstancesMap.put(childId, instanceIds);
}
}
@@ -646,74 +645,74 @@ public abstract class ParentComponentMonitor extends Monitor {
return autoscaleAlgorithm;
}
- private class MonitorAdder implements Runnable {
- private ApplicationChildContext context;
- private ParentComponentMonitor parent;
- private String appId;
- private List<String> instanceId;
+private class MonitorAdder implements Runnable {
+ private ApplicationChildContext context;
+ private ParentComponentMonitor parent;
+ private String appId;
+ private List<String> instanceId;
- public MonitorAdder(ParentComponentMonitor parent, ApplicationChildContext context,
- String appId, List<String> instanceId) {
- this.parent = parent;
- this.context = context;
- this.appId = appId;
- this.instanceId = instanceId;
- }
+ public MonitorAdder(ParentComponentMonitor parent, ApplicationChildContext context,
+ String appId, List<String> instanceId) {
+ this.parent = parent;
+ this.context = context;
+ this.appId = appId;
+ this.instanceId = instanceId;
+ }
- public void run() {
- Monitor monitor = null;
- int retries = 5;
- boolean success = false;
- while (!success && retries != 0) {
+ public void run() {
+ Monitor monitor = null;
+ int retries = 5;
+ boolean success = false;
+ while (!success && retries != 0) {
/*//TODO remove thread.sleep, exectutor service
try {
Thread.sleep(5000);
} catch (InterruptedException e1) {
}*/
- if (log.isInfoEnabled()) {
- log.info("Monitor is going to be started for [group/cluster] "
- + context.getId());
- }
- try {
- monitor = MonitorFactory.getMonitor(parent, context, appId, instanceId);
- } catch (DependencyBuilderException e) {
- String msg = "Monitor creation failed for: " + context.getId();
- log.warn(msg, e);
- retries--;
- } catch (TopologyInConsistentException e) {
- String msg = "Monitor creation failed for: " + context.getId();
- log.warn(msg, e);
- retries--;
- } catch (PolicyValidationException e) {
- String msg = "Monitor creation failed for: " + context.getId();
- log.warn(msg, e);
- retries--;
- } catch (PartitionValidationException e) {
- String msg = "Monitor creation failed for: " + context.getId();
- log.warn(msg, e);
- retries--;
- }
- success = true;
+ if (log.isInfoEnabled()) {
+ log.info("Monitor is going to be started for [group/cluster] "
+ + context.getId());
}
-
- if (monitor == null) {
- String msg = "Monitor creation failed, even after retrying for 5 times, "
- + "for : " + context.getId();
- log.error(msg);
- //TODO parent.notify();
- throw new RuntimeException(msg);
+ try {
+ monitor = MonitorFactory.getMonitor(parent, context, appId, instanceId);
+ } catch (DependencyBuilderException e) {
+ String msg = "Monitor creation failed for: " + context.getId();
+ log.warn(msg, e);
+ retries--;
+ } catch (TopologyInConsistentException e) {
+ String msg = "Monitor creation failed for: " + context.getId();
+ log.warn(msg, e);
+ retries--;
+ } catch (PolicyValidationException e) {
+ String msg = "Monitor creation failed for: " + context.getId();
+ log.warn(msg, e);
+ retries--;
+ } catch (PartitionValidationException e) {
+ String msg = "Monitor creation failed for: " + context.getId();
+ log.warn(msg, e);
+ retries--;
}
+ success = true;
+ }
- aliasToActiveMonitorsMap.put(context.getId(), monitor);
- pendingMonitorsList.remove(context.getId());
- // ApplicationBuilder.
- if (log.isInfoEnabled()) {
- log.info(String.format("Monitor has been added successfully for: %s",
- context.getId()));
- }
+ if (monitor == null) {
+ String msg = "Monitor creation failed, even after retrying for 5 times, "
+ + "for : " + context.getId();
+ log.error(msg);
+ //TODO parent.notify();
+ throw new RuntimeException(msg);
+ }
+
+ aliasToActiveMonitorsMap.put(context.getId(), monitor);
+ pendingMonitorsList.remove(context.getId());
+ // ApplicationBuilder.
+ if (log.isInfoEnabled()) {
+ log.info(String.format("Monitor has been added successfully for: %s",
+ context.getId()));
}
}
+}
}
[4/4] stratos git commit: fixing when moving to inactive list
Posted by re...@apache.org.
fixing when moving to inactive list
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/56dd783e
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/56dd783e
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/56dd783e
Branch: refs/heads/4.1.0-test
Commit: 56dd783ed33b30b8ab8558b575c16da6c56896ef
Parents: 4862a8b
Author: reka <rt...@gmail.com>
Authored: Fri Dec 12 01:18:55 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Fri Dec 12 10:20:47 2014 +0530
----------------------------------------------------------------------
.../autoscaler/monitor/component/ParentComponentMonitor.java | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/stratos/blob/56dd783e/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 46e69ee..7a60801 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
@@ -504,7 +504,7 @@ public abstract class ParentComponentMonitor extends Monitor {
// move to inactive monitors list to use in the Terminated event
protected synchronized void markInstanceAsInactive(String childId, String instanceId) {
- if (!this.inactiveInstancesMap.containsKey(childId)) {
+ if (this.inactiveInstancesMap.containsKey(childId)) {
this.inactiveInstancesMap.get(childId).add(instanceId);
} else {
List<String> instanceIds = new ArrayList<String>();