Akila created STRATOS-1489: ------------------------------ Summary: Faulty behavior in application monitor creation logic Key: STRATOS-1489 URL: https://issues.apache.org/jira/browse/STRATOS-1489 Project: Stratos Issue Type: Bug Affects Versions: 4.1.0 Reporter: Akila
When a user sign up for an application, AS makes a service call to CC and executed "createApplicationClusters" method which will publish ApplicationClustersCreated event. There is a separate event listener for this event in AS side which will start cluster monitors upon receiving this event. But in this listener AS first checks whether this corresponding application's status is set to DEPLOYED state. If not it will wait for 5 seconds and print following warning; WARN {org.apache.stratos.autoscaler.event.receiver.topology.AutoscalerTopologyEventReceiver} - Application monitor creation is not triggered on application clusters created event even after 5 retries [application-id] xxxxxx-xxxxx. Possible cause is either application context is null or application status didn't become Deployed yet. In the code [1] there is no way to recover if the application doesn't get updated to DEPLOYED status within the given 5 seconds timeout window. There is a comment in the code which says that the reason for not throwing an error is because this is not the only place where it starts monitors. But the only other place I could find is upon receiving CompleteTopologyEvent. But that event is processed only at the very first time. Therefore, there is no way to recover from this error state, and it does not throw an error either. This logic needs to be improved. [1] https://github.com/apache/stratos/blob/master/components/org.apache.stratos.autoscaler/src/main/java/org/apache/stratos/autoscaler/event/receiver/topology/AutoscalerTopologyEventReceiver.java#L169 -- This message was sent by Atlassian JIRA (v6.3.4#6332)