adding instance Ids to the logs
Project: http://git-wip-us.apache.org/repos/asf/stratos/repo Commit: http://git-wip-us.apache.org/repos/asf/stratos/commit/b0fdbc4d Tree: http://git-wip-us.apache.org/repos/asf/stratos/tree/b0fdbc4d Diff: http://git-wip-us.apache.org/repos/asf/stratos/diff/b0fdbc4d Branch: refs/heads/master Commit: b0fdbc4d53aa43d05d9a7004ac4490621d5622f8 Parents: 48c36b0 Author: reka <[email protected]> Authored: Tue Dec 16 11:52:16 2014 +0530 Committer: Udara Liyanage <[email protected]> Committed: Thu Dec 18 12:06:57 2014 +0530 ---------------------------------------------------------------------- .../applications/topic/ApplicationBuilder.java | 144 ++----------------- .../topic/ApplicationsEventPublisher.java | 22 +-- .../group/GroupStatusActiveProcessor.java | 4 + .../group/GroupStatusInactiveProcessor.java | 5 +- .../group/GroupStatusTerminatedProcessor.java | 5 +- .../group/GroupStatusTerminatingProcessor.java | 5 +- 6 files changed, 41 insertions(+), 144 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/stratos/blob/b0fdbc4d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java index a64d071..6768fa9 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationBuilder.java @@ -90,7 +90,7 @@ public class ApplicationBuilder { public static ApplicationInstance handleApplicationInstanceCreatedEvent(String appId, String networkPartitionId) { if (log.isDebugEnabled()) { - log.debug("Handling application activation event: [application-id] " + appId); + log.debug("Handling application instance creation event: [application-id] " + appId); } ApplicationInstance applicationInstance = null; //acquiring write lock to add the required instances @@ -127,7 +127,8 @@ public class ApplicationBuilder { public static void handleApplicationInstanceActivatedEvent(String appId, String instanceId) { if (log.isDebugEnabled()) { - log.debug("Handling application activation event: [application-id] " + appId); + log.debug("Handling application activation event: [application-id] " + appId + + " [instance] " + instanceId); } Applications applications = ApplicationHolder.getApplications(); @@ -156,7 +157,8 @@ public class ApplicationBuilder { public static void handleApplicationInstanceInactivateEvent(String appId, String instanceId) { if (log.isDebugEnabled()) { - log.debug("Handling application Inactive event: [application-id] " + appId); + log.debug("Handling application Inactive event: [application-id] " + appId + + " [instance] " + instanceId); } Applications applications = ApplicationHolder.getApplications(); @@ -227,74 +229,10 @@ public class ApplicationBuilder { ApplicationsEventPublisher.sendApplicationDeletedEvent(appId, appClusterDataToSend); } - public static boolean handleApplicationPolicyUndeployed(String appId) { - if (log.isDebugEnabled()) { - log.debug("Handling application terminating event: [application-id] " + appId); - } - Set<ClusterDataHolder> clusterData; - ApplicationHolder.acquireWriteLock(); - try { - Applications applications = ApplicationHolder.getApplications(); - Application application = applications.getApplication(appId); - //update the status of the Group - if (application == null) { - log.warn(String.format("Application does not exist: [application-id] %s", - appId)); - return false; - } - clusterData = application.getClusterDataRecursively(); - Collection<ApplicationInstance> context = application. - getInstanceIdToInstanceContextMap().values(); - ApplicationStatus status = ApplicationStatus.Terminating; - for (ApplicationInstance context1 : context) { - if (context1.isStateTransitionValid(status)) { - //setting the status, persist and publish - application.setStatus(status, context1.getInstanceId()); - updateApplicationMonitor(appId, status, context1.getInstanceId()); - ApplicationHolder.persistApplication(application); - ApplicationsEventPublisher.sendApplicationInstanceTerminatingEvent(appId, context1.getInstanceId()); - } else { - log.warn(String.format("Application Instance state transition is not valid: [application-id] %s " + - " [instance-id] %s [current-status] %s [status-requested] %s", appId, - context1.getInstanceId() + context1.getStatus(), status)); - } - } - } finally { - ApplicationHolder.releaseWriteLock(); - } - - // if monitors is not found for any cluster, assume cluster is not there and send cluster terminating event. - // this assumes the cluster monitor will not fail after creating members, but will only fail before - for (ClusterDataHolder aClusterData : clusterData) { - if (AutoscalerContext.getInstance().getClusterMonitor(aClusterData.getClusterId()) == null) { - TopologyManager.acquireReadLockForCluster(aClusterData.getServiceType(), - aClusterData.getClusterId()); - try { - Service service = TopologyManager.getTopology().getService(aClusterData.getServiceType()); - if (service != null) { - Cluster cluster = service.getCluster(aClusterData.getClusterId()); - if (cluster != null) { - for (ClusterInstance instance : cluster.getInstanceIdToInstanceContextMap().values()) { - ClusterStatusEventPublisher.sendClusterTerminatingEvent(appId, - aClusterData.getServiceType(), - aClusterData.getClusterId(), - instance.getInstanceId()); - } - } - } - } finally { - TopologyManager.releaseReadLockForCluster(aClusterData.getServiceType(), - aClusterData.getClusterId()); - } - - } - } - return true; - } - public static void handleApplicationInstanceTerminatedEvent(String appId, String instanceId) { if (log.isDebugEnabled()) { - log.debug("Handling application terminated event: [application-id] " + appId); + log.debug("Handling application terminated event: [application-id] " + appId + + " [instance] " + instanceId); } Applications applications = ApplicationHolder.getApplications(); @@ -303,7 +241,6 @@ public class ApplicationBuilder { log.warn("Application does not exist: [application-id] " + appId); } else { Application application = applications.getApplication(appId); - Set<ClusterDataHolder> clusterData = application.getClusterDataRecursively(); ApplicationInstance instance = application.getInstanceContexts(instanceId); ApplicationStatus status = ApplicationStatus.Terminated; if (instance.isStateTransitionValid(status)) { @@ -357,9 +294,9 @@ public class ApplicationBuilder { public static void handleGroupInstanceTerminatedEvent(String appId, String groupId, String instanceId) { if (log.isDebugEnabled()) { log.debug("Handling group terminated event: [group-id] " + groupId + - " [application-id] " + appId); + " [application-id] " + appId + " [instance] " + instanceId); } - + //lock has already been taken in the processor chain when calculating the status Applications applications = ApplicationHolder.getApplications(); Application application = applications.getApplication(appId); //update the status of the Group @@ -423,9 +360,9 @@ public class ApplicationBuilder { public static void handleGroupInstanceActivatedEvent(String appId, String groupId, String instanceId) { if (log.isDebugEnabled()) { log.debug("Handling group activation for the [group-id]: " + groupId + - " in the [application-id] " + appId); + " in the [application-id] " + appId + " [instance] " + instanceId); } - + //lock has already been taken in the processor chain when calculating the status Applications applications = ApplicationHolder.getApplications(); Application application = applications.getApplication(appId); //update the status of the Group @@ -463,41 +400,6 @@ public class ApplicationBuilder { } } - public static void handleGroupInstanceCreatedEvent(String appId, String groupId, String instanceId) { - if (log.isDebugEnabled()) { - log.debug("Handling Group creation for the [group]: " + groupId + - " in the [application] " + appId); - } - - Applications applications = ApplicationHolder.getApplications(); - Application application = applications.getApplication(appId); - //update the status of the Group - if (application == null) { - log.warn(String.format("Application %s does not exist", - appId)); - return; - } - - Group group = application.getGroupRecursively(groupId); - if (group == null) { - log.warn(String.format("Group %s does not exist when instance creating group ", - groupId)); - return; - } - - GroupStatus status = GroupStatus.Created; - if (group.isStateTransitionValid(status, null)) { - //setting the status, persist and publish - updateGroupMonitor(appId, groupId, status, instanceId); - ApplicationHolder.persistApplication(application); - ApplicationsEventPublisher.sendGroupInstanceCreatedEvent(appId, groupId, null); - } else { - log.warn("Group state transition is not valid: [group-id] " + groupId + - " [current-state] " + group.getStatus(null) - + "[requested-state] " + status); - } - } - public static GroupInstance handleGroupInstanceCreatedEvent(String appId, String groupId, String parentId, String networkPartitionId, @@ -506,8 +408,8 @@ public class ApplicationBuilder { ApplicationHolder.acquireWriteLock(); try { if (log.isDebugEnabled()) { - log.debug("Handling Group creation for the [group]: " + groupId + - " in the [application] " + appId); + log.debug("Handling Group instance creation for the [group]: " + groupId + + " in the [application] " + appId ); } Applications applications = ApplicationHolder.getApplications(); Application application = applications.getApplication(appId); @@ -533,7 +435,7 @@ public class ApplicationBuilder { * When min != 1 or max != 1, we need to generate * instance ids as it is having more than one group instances */ - if (minGroupInstances > 1 || maxGroupInstances > 1) { + if (minGroupInstances > 1 || maxGroupInstances > 1 || group.isGroupScalingEnabled()) { instanceId = group.getNextInstanceId(groupId); } @@ -607,7 +509,7 @@ public class ApplicationBuilder { public static void handleGroupTerminatingEvent(String appId, String groupId, String instanceId) { if (log.isDebugEnabled()) { log.debug("Handling group terminating: [group-id] " + groupId + - " [application-id] " + appId); + " [application-id] " + appId + " [instance] " + instanceId); } Applications applications = ApplicationHolder.getApplications(); @@ -652,22 +554,6 @@ public class ApplicationBuilder { } } - private static void updateGroupStatusesRecursively(GroupStatus groupStatus, Collection<Group> groups) { - - for (Group group : groups) { - if (!group.isStateTransitionValid(groupStatus, null)) { - log.error("Invalid state transfer from " + group.getStatus(null) + " to " + groupStatus); - } - // force update for now - //group.notifyParentMonitor(groupStatus, null); - - // go recursively and update - if (group.getGroups() != null) { - updateGroupStatusesRecursively(groupStatus, group.getGroups()); - } - } - } - private static void updateApplicationMonitor(String appId, ApplicationStatus status, String instanceId) { //Updating the Application Monitor ApplicationMonitor applicationMonitor = AutoscalerContext.getInstance().getAppMonitor(appId); http://git-wip-us.apache.org/repos/asf/stratos/blob/b0fdbc4d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java index 0dbfa4a..b452065 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/applications/topic/ApplicationsEventPublisher.java @@ -45,7 +45,7 @@ public class ApplicationsEventPublisher { GroupInstance groupInstance) { if (log.isInfoEnabled()) { log.info("Publishing Group created event for [application]: " + appId + - " [group]: " + groupId); + " [group]: " + groupId + " [instance]:" + groupInstance.getInstanceId()); } GroupInstanceCreatedEvent groupCreatedEvent = new GroupInstanceCreatedEvent(appId, groupId, groupInstance); @@ -56,7 +56,7 @@ public class ApplicationsEventPublisher { public static void sendGroupInstanceActivatedEvent(String appId, String groupId, String instanceId) { if (log.isInfoEnabled()) { log.info("Publishing Group activated event for [application]: " + appId + - " [group]: " + groupId); + " [group]: " + groupId + " [instance]:" + instanceId); } GroupInstanceActivatedEvent groupActivatedEvent = new GroupInstanceActivatedEvent(appId, groupId, instanceId); @@ -67,7 +67,7 @@ public class ApplicationsEventPublisher { public static void sendGroupInstanceInactivateEvent(String appId, String groupId, String instanceId) { if (log.isInfoEnabled()) { log.info("Publishing Group inactivate event for [application]: " + appId + - " [group]: " + groupId); + " [group]: " + groupId + " [instance]:" + instanceId); } GroupInstanceInactivatedEvent groupInactivateEvent = new GroupInstanceInactivatedEvent(appId, groupId, instanceId); @@ -77,7 +77,7 @@ public class ApplicationsEventPublisher { public static void sendGroupInstanceTerminatingEvent(String appId, String groupId, String instanceId) { if (log.isInfoEnabled()) { log.info("Publishing Group terminating event for [application]: " + appId + - " [group]: " + groupId); + " [group]: " + groupId + " [instance]:" + instanceId); } GroupInstanceTerminatingEvent groupInTerminatingEvent = new GroupInstanceTerminatingEvent(appId, groupId, instanceId); @@ -88,7 +88,7 @@ public class ApplicationsEventPublisher { if (log.isInfoEnabled()) { log.info("Publishing Group terminated event for [application]: " + appId + - " [group]: " + groupId); + " [group]: " + groupId + " [instance]:" + instanceId); } GroupInstanceTerminatedEvent groupInTerminatedEvent = new GroupInstanceTerminatedEvent(appId, groupId, instanceId); @@ -97,7 +97,8 @@ public class ApplicationsEventPublisher { public static void sendApplicationInstanceActivatedEvent(String appId, String instanceId) { if (log.isInfoEnabled()) { - log.info("Publishing Application Active event for [application]: " + appId); + log.info("Publishing Application Active event for [application]: " + appId + + " [instance]:" + instanceId); } ApplicationInstanceActivatedEvent applicationActivatedEvent = new ApplicationInstanceActivatedEvent(appId, instanceId); @@ -107,7 +108,8 @@ public class ApplicationsEventPublisher { public static void sendApplicationInstanceInactivatedEvent(String appId, String instanceId) { if (log.isInfoEnabled()) { - log.info("Publishing Application Inactivated event for [application]: " + appId); + log.info("Publishing Application Inactivated event for [application]: " + appId + + " [instance]:" + instanceId); } ApplicationInstanceInactivatedEvent applicationInactivatedEvent = new ApplicationInstanceInactivatedEvent(appId, instanceId); @@ -117,7 +119,8 @@ public class ApplicationsEventPublisher { public static void sendApplicationInstanceTerminatingEvent(String appId, String instanceId) { if (log.isInfoEnabled()) { - log.info("Publishing Application terminating event for [application]: " + appId); + log.info("Publishing Application terminating event for [application]: " + appId + + " [instance]:" + instanceId); } ApplicationInstanceTerminatingEvent applicationTerminatingEvent = new ApplicationInstanceTerminatingEvent(appId, instanceId); @@ -126,7 +129,8 @@ public class ApplicationsEventPublisher { public static void sendApplicationInstanceTerminatedEvent(String appId, String instanceId) { if (log.isInfoEnabled()) { - log.info("Publishing Application terminated event for [application]: " + appId); + log.info("Publishing Application terminated event for [application]: " + appId + + " [instance]:" + instanceId); } ApplicationInstanceTerminatedEvent applicationTerminatedEvent = new ApplicationInstanceTerminatedEvent(appId, instanceId); http://git-wip-us.apache.org/repos/asf/stratos/blob/b0fdbc4d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java index f7a61b6..add122a 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusActiveProcessor.java @@ -66,6 +66,10 @@ public class GroupStatusActiveProcessor extends GroupStatusProcessor { Map<String, Group> groups; Map<String, ClusterDataHolder> clusterData; + if (log.isDebugEnabled()) { + log.debug("StatusChecker calculating the active status for the group " + + "[ " + idOfComponent + " ]" + " for the instance " + " [ " + instanceId + " ]"); + } try { ApplicationHolder.acquireWriteLock(); if (idOfComponent.equals(appId)) { http://git-wip-us.apache.org/repos/asf/stratos/blob/b0fdbc4d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java index 105f7e0..db5c7b0 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusInactiveProcessor.java @@ -71,8 +71,9 @@ public class GroupStatusInactiveProcessor extends GroupStatusProcessor { Map<String, Group> groups; Map<String, ClusterDataHolder> clusterData; - if (log.isInfoEnabled()) { - log.info("StatusChecker calculating the status for the group [ " + idOfComponent + " ]"); + if (log.isDebugEnabled()) { + log.debug("StatusChecker calculating the inactive status for the group " + + "[ " + idOfComponent + " ]" + " for the instance " + " [ " + instanceId + " ]"); } try { http://git-wip-us.apache.org/repos/asf/stratos/blob/b0fdbc4d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java index 3d786df..b2b2e80 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatedProcessor.java @@ -66,8 +66,9 @@ public class GroupStatusTerminatedProcessor extends GroupStatusProcessor { Map<String, Group> groups; Map<String, ClusterDataHolder> clusterData; - if (log.isInfoEnabled()) { - log.info("StatusChecker calculating the status for the group [ " + idOfComponent + " ]"); + if (log.isDebugEnabled()) { + log.debug("StatusChecker calculating the terminated status for the group " + + "[ " + idOfComponent + " ]" + " for the instance " + " [ " + instanceId + " ]"); } try { http://git-wip-us.apache.org/repos/asf/stratos/blob/b0fdbc4d/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java ---------------------------------------------------------------------- diff --git a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java index c536146..2fae1d0 100644 --- a/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java +++ b/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/group/GroupStatusTerminatingProcessor.java @@ -66,8 +66,9 @@ public class GroupStatusTerminatingProcessor extends GroupStatusProcessor { Map<String, Group> groups; Map<String, ClusterDataHolder> clusterData; - if (log.isInfoEnabled()) { - log.info("StatusChecker calculating the status for the group [ " + idOfComponent + " ]"); + if (log.isDebugEnabled()) { + log.debug("StatusChecker calculating the terminating status for the group " + + "[ " + idOfComponent + " ]" + " for the instance " + " [ " + instanceId + " ]"); } try {
