Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping 66aeb302c -> aef9c12cb


setting hasDependent to monitors based on kill behaviours


Project: http://git-wip-us.apache.org/repos/asf/stratos/repo
Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/aef9c12c
Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/aef9c12c
Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/aef9c12c

Branch: refs/heads/4.0.0-grouping
Commit: aef9c12cbfc204a4a5c85f6c32b6707c21b1683f
Parents: 66aeb30
Author: reka <[email protected]>
Authored: Mon Oct 27 18:29:22 2014 +0530
Committer: reka <[email protected]>
Committed: Mon Oct 27 18:29:22 2014 +0530

----------------------------------------------------------------------
 .../grouping/dependency/DependencyBuilder.java        |  2 +-
 .../dependency/context/ApplicationContext.java        | 12 ++++++++++--
 .../dependency/context/ApplicationContextFactory.java | 14 ++++++++------
 .../autoscaler/monitor/ApplicationMonitorFactory.java |  4 ++--
 .../autoscaler/monitor/cluster/ClusterMonitor.java    |  4 ++--
 5 files changed, 23 insertions(+), 13 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/aef9c12c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
index 14fc90e..edd1c02 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/DependencyBuilder.java
@@ -91,7 +91,7 @@ public class DependencyBuilder {
 
                         if (start != null) {
                             ApplicationContext applicationContext = 
ApplicationContextFactory.
-                                    getApplicationContext(start, component, 
dependencyTree.isKillDependent());
+                                    getApplicationContext(start, component, 
dependencyTree);
                             String id = applicationContext.getId();
 
                             ApplicationContext existingApplicationContext =

http://git-wip-us.apache.org/repos/asf/stratos/blob/aef9c12c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContext.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContext.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContext.java
index 45e1655..3197fb9 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContext.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContext.java
@@ -38,12 +38,12 @@ public abstract class ApplicationContext {
 
     private Stack<ClusterStatus> statusLifeCycle;
 
-    protected boolean killDependent;
+    protected boolean isDependent;
 
     public ApplicationContext(String id, boolean killDependent) {
         applicationContextList = new ArrayList<ApplicationContext>();
         statusLifeCycle = new Stack<ClusterStatus>();
-        this.killDependent = killDependent;
+        this.setDependent(killDependent);
         this.id = id;
     }
 
@@ -102,4 +102,12 @@ public abstract class ApplicationContext {
     public void setTerminated(boolean terminated) {
         this.terminated = terminated;
     }
+
+    public boolean isDependent() {
+        return isDependent;
+    }
+
+    public void setDependent(boolean isDependent) {
+        this.isDependent = isDependent;
+    }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/aef9c12c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContextFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContextFactory.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContextFactory.java
index 970d593..631e5d4 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContextFactory.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/grouping/dependency/context/ApplicationContextFactory.java
@@ -21,6 +21,7 @@ package 
org.apache.stratos.autoscaler.grouping.dependency.context;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.apache.stratos.autoscaler.Constants;
+import org.apache.stratos.autoscaler.grouping.dependency.DependencyTree;
 import org.apache.stratos.messaging.domain.topology.ClusterDataHolder;
 import org.apache.stratos.messaging.domain.topology.Group;
 import org.apache.stratos.messaging.domain.topology.ParentComponent;
@@ -36,24 +37,25 @@ public class ApplicationContextFactory {
      *
      * @param startOrder      reference of group/cluster in the start order
      * @param component       The component which used to build the dependency
-     * @param isKillDependent kill dependent behaviour of this component
+     * @param tree kill dependent behaviour of this component
      * @return Context
      */
     public static ApplicationContext getApplicationContext(String startOrder,
                                                            ParentComponent 
component,
-                                                           boolean 
isKillDependent) {
+                                                           DependencyTree 
tree) {
         String id;
         ApplicationContext applicationContext = null;
+        boolean isDependent = tree.isKillDependent() || tree.isKillAll();
         if (startOrder.startsWith(Constants.GROUP + ".")) {
             //getting the group alias
             id = getGroupFromStartupOrder(startOrder);
-            applicationContext = getGroupContext(id, isKillDependent);
+            applicationContext = getGroupContext(id, isDependent);
         } else if (startOrder.startsWith(Constants.CARTRIDGE + ".")) {
             //getting the cluster alias
             id = getClusterFromStartupOrder(startOrder);
             //getting the cluster-id from cluster alias
             ClusterDataHolder clusterDataHolder = 
component.getClusterDataMap().get(id);
-            applicationContext = getClusterContext(clusterDataHolder, 
isKillDependent);
+            applicationContext = getClusterContext(clusterDataHolder, 
isDependent);
 
         } else {
             log.warn("[Startup Order]: " + startOrder + " contains unknown 
reference");
@@ -91,10 +93,10 @@ public class ApplicationContextFactory {
         return  applicationContext;
     }
 
-    public static ApplicationContext getGroupContext(String id, boolean 
isKillDependent) {
+    public static ApplicationContext getGroupContext(String id, boolean 
isDependent) {
         ApplicationContext applicationContext;
         applicationContext = new GroupContext(id,
-                isKillDependent);
+                isDependent);
         return applicationContext;
     }
 }

http://git-wip-us.apache.org/repos/asf/stratos/blob/aef9c12c/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ApplicationMonitorFactory.java
----------------------------------------------------------------------
diff --git 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ApplicationMonitorFactory.java
 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ApplicationMonitorFactory.java
index b60e645..2ead896 100644
--- 
a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ApplicationMonitorFactory.java
+++ 
b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/monitor/ApplicationMonitorFactory.java
@@ -109,7 +109,7 @@ public class ApplicationMonitorFactory {
             if(parentMonitor != null) {
                 groupMonitor.setParent(parentMonitor);
                 //Setting the dependent behaviour of the monitor
-                if(parentMonitor.hasMonitors() && (parentMonitor.isDependent() 
|| context.hasChild())) {
+                if(parentMonitor.isDependent() || (context.isDependent() && 
context.hasChild())) {
                     groupMonitor.setHasDependent(true);
                 } else {
                     groupMonitor.setHasDependent(false);
@@ -291,7 +291,7 @@ public class ApplicationMonitorFactory {
 
                 
clusterMonitor.addNetworkPartitionCtxt(networkPartitionContext);
                 clusterMonitor.setParent(parentMonitor);
-                if(parentMonitor.hasActiveMonitors() && 
(parentMonitor.isDependent() || context.hasChild())) {
+                if(parentMonitor.isDependent() || (context.isDependent() && 
context.hasChild())) {
                     clusterMonitor.setHasDependent(true);
                 } else {
                     clusterMonitor.setHasDependent(false);

http://git-wip-us.apache.org/repos/asf/stratos/blob/aef9c12c/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 0848d64..557fedb 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
@@ -174,7 +174,7 @@ public class ClusterMonitor extends AbstractClusterMonitor {
 
             }
 
-               boolean rifReset = networkPartitionContext.isRifReset();
+               /*boolean rifReset = networkPartitionContext.isRifReset();
             boolean memoryConsumptionReset = 
networkPartitionContext.isMemoryConsumptionReset();
             boolean loadAverageReset = 
networkPartitionContext.isLoadAverageReset();
 
@@ -208,7 +208,7 @@ public class ClusterMonitor extends AbstractClusterMonitor {
             } else if (log.isDebugEnabled()) {
                 log.debug(String.format("Scale rule will not run since the LB 
statistics have not received before this " +
                         "cycle for network partition %s", 
networkPartitionContext.getId()));
-            }
+            }*/
         }
     }
 

Reply via email to