Hi After going through the logs of integration, please find the break down as below. For my-group6-group-tom2-group-startup-order-test, it seems that the Adder got triggered twice or somehow monitor creation got triggered twice which cause the memory to inconsistent state. Hence the particular GroupMonitor got removed somehow. So that the application hierarchy was incomplete and application was unable to become active. I'm still investigating on it to find out the root cause.
2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,504] INFO {org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor} - Monitor scheduled: [type] cluster [component] group-startup-order-test.my-group-tom2-tomcat2-group-startup-order-test.tomcat2-group-startup-order-test.domain 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,504] DEBUG {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - ClusterMonitor task interval set to : [application-id] null [cluster] group-startup-order-test.my-group7-tomcat-group-startup-order-test.tomcat-group-startup-order-test.domain [monitor-interval] 90000 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,504] INFO {org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor} - Starting monitor: [type] cluster [component] group-startup-order-test.my-group-tom2-tomcat2-group-startup-order-test.tomcat2-group-startup-order-test.domain 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,504] ERROR {org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor} - An error occurred while starting monitor: [type] group [component] my-group6-group-tom2-group-startup-order-test 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - java.lang.NullPointerException 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at org.apache.stratos.autoscaler.monitor.Monitor.addInstance(Monitor.java:149) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at org.apache.stratos.autoscaler.monitor.component.GroupMonitor.createGroupInstanceAndAddToMonitor(GroupMonitor.java:816) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at org.apache.stratos.autoscaler.monitor.component.GroupMonitor.createInstanceAndStartDependencyAtStartup(GroupMonitor.java:898) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at org.apache.stratos.autoscaler.monitor.MonitorFactory.getGroupMonitor(MonitorFactory.java:161) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at org.apache.stratos.autoscaler.monitor.MonitorFactory.getMonitor(MonitorFactory.java:81) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor$MonitorAdder.run(ParentComponentMonitor.java:1001) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at java.util.concurrent.FutureTask.run(FutureTask.java:262) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - at java.lang.Thread.run(Thread.java:745) 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] DEBUG {org.apache.stratos.autoscaler.monitor.component.GroupMonitor} - Group monitor is running: [group] my-group6-group-tom2-group-startup-order-test 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,504] DEBUG {org.apache.stratos.autoscaler.context.partition.ParentLevelPartitionContext} - Instance expiry time is set to: 900000 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] DEBUG {org.apache.stratos.autoscaler.context.partition.ParentLevelPartitionContext} - Instance obsolete expiry time is set to: 86400000 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] DEBUG {org.apache.stratos.autoscaler.context.partition.ParentLevelPartitionContext} - Instance pending termination expiry time is set to: 1800000 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] INFO {org.apache.stratos.autoscaler.monitor.component.GroupMonitor} - [Partition] partition-1has been added for the [Group] my-group9-group-startup-order-test 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] INFO {org.apache.stratos.autoscaler.monitor.component.ParentComponentMonitor} - Monitor started successfully: [type] group [component] my-group6-group-tom2-group-startup-order-test [dependents] none [startup-time] 0 seconds 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] INFO {org.apache.stratos.autoscaler.monitor.component.GroupMonitor} - Group [Instance context] group-startup-order-test-1 has been added to [Group] my-group9-group-startup-order-test 2015-10-08 13:49:52 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:49:52,505] INFO {org.apache.stratos.autoscaler.monitor.component.GroupMonitor} - Starting the dependencies for the [Group] my-group9-group-startup-order-test -------------------------------------- 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] DEBUG {org.apache.stratos.autoscaler.status.processor.group.GroupStatusProcessor} - Checking the status of cluster group-startup-order-test.my-group-tom2-tomcat3-group-startup-order-test.tomcat3-group-startup-order-test.domain instance status is: Active 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] DEBUG {org.apache.stratos.autoscaler.status.processor.group.GroupStatusProcessor} - Checking the status of cluster group-startup-order-test.my-group-tom2-tomcat2-group-startup-order-test.tomcat2-group-startup-order-test.domain instance status is: Active 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] DEBUG {org.apache.stratos.cloud.controller.messaging.topology.TopologyManager} - Write lock released 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] INFO {org.apache.stratos.autoscaler.status.processor.group.GroupStatusActiveProcessor} - Sending group instance active for [group] my-group6-group-tom2-group-startup-order-test [instance] group-startup-order-test-1 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] DEBUG {org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder} - Handling group activation for the [group-id]: my-group6-group-tom2-group-startup-order-test in the [application-id] group-startup-order-test [instance] group-startup-order-test-1 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] DEBUG {org.apache.stratos.cloud.controller.messaging.topology.TopologyManager} - Write lock acquired 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] WARN {org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder} - Group monitor cannot be found: [group-id] my-group6-group-tom2-group-startup-order-test [application-id] group-startup-order-test 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] INFO {org.apache.stratos.cloud.controller.messaging.topology.TopologyBuilder} - Cluster activated adding status started for group-startup-order-test.my-group-tom2-tomcat3-group-startup-order-test.tomcat3-group-startup-order-test.domain 2015-10-08 13:51:19 INFO {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - [2015-10-08 13:51:19,100] DEBUG {org.apache.stratos.cloud.controller.messaging.topology.TopologyManager} - Updating topology Thanks, Reka On Thu, Oct 8, 2015 at 4:47 PM, Reka Thirunavukkarasu <r...@wso2.com> wrote: > Hi Akila > > On Thu, Oct 8, 2015 at 2:51 PM, Akila Ravihansa Perera <raviha...@wso2.com > > wrote: > >> Hi Thanuja, >> >> I was referring to the build fail in [1]. Please see line starting from: >> >> 2015-10-02 07:28:32 INFO >> {org.wso2.carbon.automation.extensions.servers.utils.ServerLogReader}:70 - >> [2015-10-02 07:28:32,834] ERROR >> {org.apache.stratos.autoscaler.rule.RuleTasksDelegator} - Cannot terminate >> instance >> >> I think this is a separate issue that occurs very rarely. As you noticed, >> NPE in GroupMonitor occurs when undeploying applications. The problem is >> group monitors are retrieving the status from other group monitor objects. >> >> @Reka: shall we change that logic to read the application status from >> topology or ApplicationHolder instead of reading from monitors? >> > > We can't read the Application status from Topology as Application will not > contain any status rather only application instance will contain the > status. By accessing application instance, we can't identify whether > undeployment or force undeployment is in-progress. Hence we will have to > maintain these flags to ApplicationMonitor to identity the undeployment or > force undeployment. All other status are actually referring from the > Topology. > > Thanks, > Reka > >> >> [1] https://builds.apache.org/job/Stratos-41x-Commit-Build/68/consoleFull >> >> Thanks. >> > > > > -- > Reka Thirunavukkarasu > Senior Software Engineer, > WSO2, Inc.:http://wso2.com, > Mobile: +94776442007 > > > -- Reka Thirunavukkarasu Senior Software Engineer, WSO2, Inc.:http://wso2.com, Mobile: +94776442007