Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
4.1.1
-
None
Description
When there is more than one group in application level, it fails to undeploy. When one group is terminated it will send the terminated event and application will mark as terminated. This will cause for removing other groups in the application level and it will keep the spawned instances of that group. The following error message can be seen in the log due to this behaviour.
java.lang.IllegalArgumentException: Could not terminate container, cluster context not found: [cluster-id] wso2am-190-application.gateway-worker.wso2am-190-gw-worker.domain [member-id] wso2am-190-application.gateway-worker.wso2am-190-gw-worker.domaina9ddb584-45aa-4857-87f8-9af7c17c67d8
at org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.handleNullObject(KubernetesIaas.java:858)
at org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.terminateContainer(KubernetesIaas.java:785)
at org.apache.stratos.cloud.controller.iaases.kubernetes.KubernetesIaas.terminateInstance(KubernetesIaas.java:139)
at org.apache.stratos.cloud.controller.services.impl.InstanceTerminator.run(InstanceTerminator.java:56)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Fix would be not to send any terminated or terminating event at GroupStatusTerminatedProcessor as there is no need of a such event for the listeners at this level.