Hi, This is to bring your attention to possible inconsistency that could arise due to rare edge cases. For an eg: If you follow the piece of code at [1], handleMemberTerminated can return without successfully removing a member from topology but the next step will get executed which is to remove the member context from CC's context, thus leading to inconsistencies. This could result in permanent inconsistent state and system will never recover.
I'm proposing the $subject to resolve this issue. I think simply throwing an exception if an operation is not successful and handling those exceptions gracefully should fix the problem rather than silently returning from the method call. Above is only one example and we may have to find such occurrences throughout the CC component since that is the only module which writes/updates the topology. However, we need to check whether same problem can occur for Application model maintained by AS and Tenant model maintained by SM. @Reka: Any thoughts? I've created the JIRA [2] to track this issue. [1] https://github.com/ravihansa3000/stratos/blob/stratos-4.1.x/components/org.apache.stratos.cloud.controller/src/main/java/org/apache/stratos/cloud/controller/services/impl/CloudControllerServiceUtil.java#L57 [2] https://issues.apache.org/jira/browse/STRATOS-1578 Thanks. -- Akila Ravihansa Perera WSO2 Inc.; http://wso2.com/ Blog: http://ravihansa3000.blogspot.com