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/12 21:14:45 UTC

[1/2] git commit: fixing group activation issue

Repository: stratos
Updated Branches:
  refs/heads/4.0.0-grouping 0403bc8ea -> a456b4e22


fixing group activation issue


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

Branch: refs/heads/4.0.0-grouping
Commit: e5cec49351816c8d9bcdd791499696e766c7cb5b
Parents: 3560f07
Author: reka <rt...@gmail.com>
Authored: Mon Oct 13 00:44:10 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Mon Oct 13 00:44:10 2014 +0530

----------------------------------------------------------------------
 .../stratos/autoscaler/monitor/Monitor.java     | 11 ++++++---
 .../autoscaler/monitor/group/GroupMonitor.java  |  3 +++
 .../status/checker/StatusChecker.java           | 26 ++++++++++++++++----
 3 files changed, 31 insertions(+), 9 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/stratos/blob/e5cec493/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 486036a..cc30f7b 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
@@ -285,7 +285,8 @@ public abstract class Monitor implements EventHandler {
                     monitor = AutoscalerUtil.getClusterMonitor(cluster);
                     monitor.setParent(parent);
                     //setting the status of cluster monitor w.r.t Topology cluster
-                    if(cluster.getStatus() != Status.Created) {
+                    //if(cluster.getStatus() != Status.Created &&
+                    if(cluster.getStatus() != monitor.getStatus()) {
                         //updating the status, so that it will notify the parent
                         monitor.setStatus(cluster.getStatus());
                     }
@@ -354,12 +355,14 @@ public abstract class Monitor implements EventHandler {
                         log.debug("Group monitor is going to be started for [group] "
                                 + dependency);
                     }
-                    monitor = AutoscalerUtil.getGroupMonitor(component.getGroup(dependency));
+                    Group group = component.getGroup(dependency);
+                    monitor = AutoscalerUtil.getGroupMonitor(group);
                     monitor.setParent(parent);
                     //setting the status of cluster monitor w.r.t Topology cluster
-                    if(component.getStatus() != Status.Created) {
+                    //if(group.getStatus() != Status.Created &&
+                    if(group.getStatus() != monitor.getStatus()) {
                         //updating the status, so that it will notify the parent
-                        monitor.setStatus(component.getStatus());
+                        monitor.setStatus(group.getStatus());
                     }
                     //monitor.addObserver(parent);
                     success = true;

http://git-wip-us.apache.org/repos/asf/stratos/blob/e5cec493/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 70dc0a9..90876cb 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
@@ -55,6 +55,7 @@ public class GroupMonitor extends Monitor implements EventHandler {
         super(group);
         this.id = group.getAlias();
         startDependency();
+        this.status = Status.Created;
 
     }
 
@@ -84,6 +85,8 @@ public class GroupMonitor extends Monitor implements EventHandler {
             try {
                 //if life cycle is empty, need to start the monitor
                 boolean startDep = startDependency(statusEvent.getId());
+                log.info("started a child: " + startDep + " by the group/cluster: " + id);
+
                 //updating the life cycle and current status
                 context.setStatus(statusEvent.getStatus());
                 context.addStatusToLIfeCycle(statusEvent.getStatus());

http://git-wip-us.apache.org/repos/asf/stratos/blob/e5cec493/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 9bf2241..4607f47 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
@@ -26,7 +26,6 @@ import org.apache.stratos.autoscaler.PartitionContext;
 import org.apache.stratos.autoscaler.grouping.topic.StatusEventPublisher;
 import org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor;
 import org.apache.stratos.messaging.domain.topology.*;
-import org.apache.stratos.messaging.domain.topology.util.GroupStatus;
 import org.apache.stratos.messaging.message.receiver.topology.TopologyManager;
 
 import java.util.Map;
@@ -100,9 +99,11 @@ public class StatusChecker {
                 try {
                     //TODO getting lock
                     TopologyManager.acquireReadLockForApplication(appId);
-                    Map<String, ClusterDataHolder> clusterIds = component.getClusterDataMap();
-                    Map<String, Group> groups = component.getAliasToGroupMap();
-                    updateChildStatus(appId, idOfChild, groups, clusterIds, component);
+                    ParentComponent component1 = TopologyManager.getTopology().
+                            getApplication(appId).getGroupRecursively(component.getUniqueIdentifier());
+                    Map<String, ClusterDataHolder> clusterIds = component1.getClusterDataMap();
+                    Map<String, Group> groups = component1.getAliasToGroupMap();
+                    updateChildStatus(appId, idOfChild, groups, clusterIds, component1);
                 } finally {
                     TopologyManager.releaseReadLockForApplication(appId);
 
@@ -169,17 +170,30 @@ public class StatusChecker {
                 clusterFound = true;
             }
         }
+        log.info("cluster found: " + clusterFound);
         if (clusterFound || groups.containsKey(id)) {
             childFound = true;
             if (!clusterData.isEmpty() && !groups.isEmpty()) {
+                if(log.isDebugEnabled()) {
+                    log.debug("group active found: " + clusterFound);
+                }
                 clustersActive = getClusterStatus(clusterData);
                 groupsActive = getGroupStatus(groups);
+                if(log.isDebugEnabled()) {
+                    log.debug("Active cluster" + clustersActive + " and group: " + groupActive);
+                }
                 groupActive = clustersActive && groupsActive;
             } else if (!groups.isEmpty()) {
                 groupsActive = getGroupStatus(groups);
+                if(log.isDebugEnabled()) {
+                    log.info("group active found: " + clusterFound);
+                }
                 groupActive = groupsActive;
             } else if (!clusterData.isEmpty()) {
                 clustersActive = getClusterStatus(clusterData);
+                if(log.isDebugEnabled()) {
+                    log.debug("Active cluster" + clustersActive + " and group: " + groupActive);
+                }
                 groupActive = clustersActive;
             } else {
                 log.warn("Clusters/groups not found in this [component] "+ appId);
@@ -187,10 +201,12 @@ public class StatusChecker {
             //send the activation event
             if (parent instanceof Application && groupActive) {
                 //send application activated event
+                log.info("sending app activate found: " + appId);
                 StatusEventPublisher.sendApplicationActivatedEvent(appId);
             } else if (parent instanceof Group && groupActive) {
                 //send activation to the parent
-                StatusEventPublisher.sendGroupActivatedEvent(appId, ((Group) parent).getAlias());
+                log.info("sending group activate found: " + parent.getUniqueIdentifier());
+                StatusEventPublisher.sendGroupActivatedEvent(appId, parent.getUniqueIdentifier());
             }
             return childFound;
         } else {


[2/2] git commit: Merge branch '4.0.0-grouping' of https://git-wip-us.apache.org/repos/asf/stratos into 4.0.0-grouping

Posted by re...@apache.org.
Merge branch '4.0.0-grouping' of https://git-wip-us.apache.org/repos/asf/stratos into 4.0.0-grouping


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

Branch: refs/heads/4.0.0-grouping
Commit: a456b4e229db60e5005a50b0aed3f454530978cc
Parents: e5cec49 0403bc8
Author: reka <rt...@gmail.com>
Authored: Mon Oct 13 00:44:33 2014 +0530
Committer: reka <rt...@gmail.com>
Committed: Mon Oct 13 00:44:33 2014 +0530

----------------------------------------------------------------------
 .../application/parser/ParserUtils.java         |  34 ++-
 .../CompositeApplicationParseTest.java          | 293 +++++++++++++++++++
 2 files changed, 320 insertions(+), 7 deletions(-)
----------------------------------------------------------------------