Repository: stratos Updated Branches: refs/heads/4.0.0-grouping f1ccd9b04 -> f8ca4b278
fixing cluster monitor status issue and reomving LB ref from cluster monitor Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/a34b6153 Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/a34b6153 Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/a34b6153 Branch: refs/heads/4.0.0-grouping Commit: a34b61537d9417fa808519f5d56dbdb08e03b98c Parents: f1ccd9b Author: reka <[email protected]> Authored: Thu Sep 25 11:11:42 2014 +0530 Committer: reka <[email protected]> Committed: Thu Sep 25 11:11:42 2014 +0530 ---------------------------------------------------------------------- .../org/apache/stratos/autoscaler/monitor/Monitor.java | 11 ++++++++--- .../autoscaler/monitor/cluster/ClusterMonitor.java | 4 ++-- .../apache/stratos/autoscaler/util/AutoscalerUtil.java | 8 +++++--- 3 files changed, 15 insertions(+), 8 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/a34b6153/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 a584584..19f8298 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 @@ -115,7 +115,7 @@ public abstract class Monitor extends Observable implements Observer { } - protected synchronized void startClusterMonitor(Cluster cluster) { + protected synchronized void startClusterMonitor(Monitor parent, Cluster cluster) { Thread th = null; if (cluster.isLbCluster() && !this.abstractClusterMonitors.containsKey(cluster.getClusterId())) { @@ -123,7 +123,7 @@ public abstract class Monitor extends Observable implements Observer { cluster)); } else if (!cluster.isLbCluster() && !this.abstractClusterMonitors.containsKey(cluster.getClusterId())) { th = new Thread( - new ClusterMonitorAdder(cluster)); + new ClusterMonitorAdder(parent, cluster)); } if (th != null) { th.start(); @@ -165,8 +165,10 @@ public abstract class Monitor extends Observable implements Observer { private class ClusterMonitorAdder implements Runnable { private Cluster cluster; + private Monitor parent; - public ClusterMonitorAdder(Cluster cluster) { + public ClusterMonitorAdder(Monitor parent, Cluster cluster) { + this.parent = parent; this.cluster = cluster; } @@ -181,6 +183,7 @@ public abstract class Monitor extends Observable implements Observer { } try { monitor = AutoscalerUtil.getClusterMonitor(cluster); + monitor.addObserver(parent); success = true; //TODO start the status checker } catch (PolicyValidationException e) { @@ -203,6 +206,7 @@ public abstract class Monitor extends Observable implements Observer { String msg = "Cluster monitor creation failed, even after retrying for 5 times, " + "for cluster: " + cluster.getClusterId(); log.error(msg); + //TODO parent.notify(); throw new RuntimeException(msg); } @@ -257,6 +261,7 @@ public abstract class Monitor extends Observable implements Observer { String msg = "Group monitor creation failed, even after retrying for 5 times, " + "for group: " + dependency; log.error(msg); + //TODO parent.notify(); throw new RuntimeException(msg); } http://git-wip-us.apache.org/repos/asf/stratos/blob/a34b6153/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java index eb94ffd..30a4275 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/cluster/ClusterMonitor.java @@ -76,8 +76,8 @@ public class ClusterMonitor extends AbstractClusterMonitor { Thread.sleep(60000); } catch (InterruptedException ignore) { }*/ - this.status = Status.Running; - while (!isDestroyed() && status.getCode() >= ClusterStatus.Running.getCode()) { + //this.status = Status.Running; + while (!isDestroyed() && status.getCode() >= Status.Running.getCode()) { if (log.isDebugEnabled()) { log.debug("Cluster monitor is running.. " + this.toString()); } http://git-wip-us.apache.org/repos/asf/stratos/blob/a34b6153/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java index 690b44e..df01a84 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/util/AutoscalerUtil.java @@ -168,7 +168,7 @@ public class AutoscalerUtil { // find lb reference type - java.util.Properties props = cluster.getProperties(); + /*java.util.Properties props = cluster.getProperties(); if(props.containsKey(Constants.LOAD_BALANCER_REF)) { String value = props.getProperty(Constants.LOAD_BALANCER_REF); @@ -176,14 +176,16 @@ public class AutoscalerUtil { if(log.isDebugEnabled()) { log.debug("Set the lb reference type: "+value); } - } + }*/ //register a status Checker // set hasPrimary property // hasPrimary is true if there are primary members available in that cluster - clusterMonitor.setHasPrimary(Boolean.parseBoolean(cluster.getProperties().getProperty(Constants.IS_PRIMARY))); + if(cluster.getProperties() != null) { + clusterMonitor.setHasPrimary(Boolean.parseBoolean(cluster.getProperties().getProperty(Constants.IS_PRIMARY))); + } log.info("Cluster monitor created: "+clusterMonitor.toString()); return clusterMonitor;
