Return-Path: X-Original-To: apmail-stratos-dev-archive@minotaur.apache.org Delivered-To: apmail-stratos-dev-archive@minotaur.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 22B7918486 for ; Fri, 12 Jun 2015 16:41:37 +0000 (UTC) Received: (qmail 79330 invoked by uid 500); 12 Jun 2015 16:41:36 -0000 Delivered-To: apmail-stratos-dev-archive@stratos.apache.org Received: (qmail 79285 invoked by uid 500); 12 Jun 2015 16:41:36 -0000 Mailing-List: contact dev-help@stratos.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@stratos.apache.org Delivered-To: mailing list dev@stratos.apache.org Received: (qmail 79272 invoked by uid 99); 12 Jun 2015 16:41:36 -0000 Received: from Unknown (HELO spamd2-us-west.apache.org) (209.188.14.142) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 12 Jun 2015 16:41:36 +0000 Received: from localhost (localhost [127.0.0.1]) by spamd2-us-west.apache.org (ASF Mail Server at spamd2-us-west.apache.org) with ESMTP id 6D5A71A5422 for ; Fri, 12 Jun 2015 16:41:35 +0000 (UTC) X-Virus-Scanned: Debian amavisd-new at spamd2-us-west.apache.org X-Spam-Flag: NO X-Spam-Score: 3.151 X-Spam-Level: *** X-Spam-Status: No, score=3.151 tagged_above=-999 required=6.31 tests=[DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=3, KAM_LOTSOFHASH=0.25, URIBL_BLOCKED=0.001] autolearn=disabled Authentication-Results: spamd2-us-west.apache.org (amavisd-new); dkim=pass (1024-bit key) header.d=wso2.com Received: from mx1-us-west.apache.org ([10.40.0.8]) by localhost (spamd2-us-west.apache.org [10.40.0.9]) (amavisd-new, port 10024) with ESMTP id VRSOWEhHK8-m for ; Fri, 12 Jun 2015 16:41:20 +0000 (UTC) Received: from mail-lb0-f181.google.com (mail-lb0-f181.google.com [209.85.217.181]) by mx1-us-west.apache.org (ASF Mail Server at mx1-us-west.apache.org) with ESMTPS id ACA2821659 for ; Fri, 12 Jun 2015 16:41:19 +0000 (UTC) Received: by lbcue7 with SMTP id ue7so22935812lbc.0 for ; Fri, 12 Jun 2015 09:41:12 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=wso2.com; s=google; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-type; bh=T3NoJn0ugPc9btf2lig7HfF7Yn18FLgM8iwQkyfaclI=; b=ViZY5KBjswFMQ9ok/n4cu011pepWBQ8gdR3whb5XllVtRE6RC5ZU3zTAIuuirCSGvj JiTaSFsxsLvjaADN1+RiCl7nCzs1JZE5JEUtCPoBrqy3u3teOWBm8V76xGTzEKasJiKg WFsorNhLA87eqtQ1/IvRp1IO9v+awCvYrgN+g= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:content-type; bh=T3NoJn0ugPc9btf2lig7HfF7Yn18FLgM8iwQkyfaclI=; b=EU+L8RUBqwWdmeLDMr4iAKFJnq2LTog87fMgwwGgENwB4gF0371Yy/wKQPe1f3YXVM 7jCBxXj+bOdNE59vjkEzbPjGt+C4JnJoGrVhmFjI9ryoOLsGTajjUTah8MMg8CM8sETx RL+EXdGhRS3j1MjkBbYltbNRPi31FHQ+IAH0odLyjKp7xOCryHk1ox1fgXEG6Q7TPZAj 6l2ZjOZ3b7nnkvj49fi1A7q7sWI9E63DhZ/59Do8boH1L0+rBgZppsQ39lbHU0eIqyYP IqmRl1UorfIvDSm7n68mkApABB4E6F/p3S0CGX40Bj9DfFjeRmOKLwWF6do85Nh2zCt3 pjaQ== X-Gm-Message-State: ALoCoQkTKk9ETT9FJPobd6PdVwAdTXwQHYzqyZ7x/Y/ta2wc3OuB2onSBaN1ZJ7Mr8kwyO+yaMmO X-Received: by 10.152.205.102 with SMTP id lf6mr15945837lac.1.1434127271766; Fri, 12 Jun 2015 09:41:11 -0700 (PDT) MIME-Version: 1.0 Received: by 10.114.180.137 with HTTP; Fri, 12 Jun 2015 09:40:50 -0700 (PDT) In-Reply-To: References: <07110D8A7AC60C49AE2432100017A3F6289F3816@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F3C06@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F3C49@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F3D09@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F3D61@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F3E60@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F3E99@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F4A0F@xmb-rcd-x12.cisco.com> <07110D8A7AC60C49AE2432100017A3F6289F54C8@xmb-rcd-x12.cisco.com> From: Lasindu Charith Date: Fri, 12 Jun 2015 22:10:50 +0530 Message-ID: Subject: Re: Testing Stratos 4.1: Application undeployment: application fails to undeploy (nested grouping, group scaling) To: dev Content-Type: multipart/related; boundary=001a1134a04c996039051854c6d9 --001a1134a04c996039051854c6d9 Content-Type: multipart/alternative; boundary=001a1134a04c996034051854c6d8 --001a1134a04c996034051854c6d8 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Martin, I have fixed above issue in commit 03de83172309c2932075fb5284c120ca610bbf0a. Please take a pull from the master and try-out your scenario again to see if undeployment/redeployment works as expected. Thanks, On Thu, Jun 11, 2015 at 11:52 PM, Lasindu Charith wrote: > Hi Martin, > > I guess my previous observation is incorrect. The root cause for the abov= e > issue is because *ClusterStatusTerminatedProcessor* does not send *Cluste= rTerminatedEvent > *for all 3 clusters. It only sends 1 and fails to send other 2 > clusterTerminated events. This is because, when application is activated > again *ClusterLevelPartitionContext *is added twice to the *clusterInstan= ceContext. > *This makes the if condition failed at [1] when trying to find out > whether cluster monitor has any non terminated members at > *ClusterStatusTerminatedProcessor *before sending clusterTerminated > event. Will try to find a proper solution and update the thread. > > > [1] > https://github.com/apache/stratos/blob/master/components/org.apache.strat= os.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor/= cluster/ClusterStatusTerminatedProcessor.java#L90 > > Thanks, > > > On Thu, Jun 11, 2015 at 10:29 PM, Martin Eppel (meppel) > wrote: > >> Is there any conclusion how to this fix this ? >> >> >> >> Thanks >> >> >> >> >> >> Martin >> >> >> >> *From:* Lahiru Sandaruwan [mailto:lahirus@wso2.com] >> *Sent:* Wednesday, June 10, 2015 6:55 PM >> *To:* dev >> *Cc:* Reka Thirunavukkarasu >> >> *Subject:* Re: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> Hi Imesh, >> >> >> >> Following could be the possible reason for not un-deploying when member >> was auto healed, >> >> >> >> - The particular cluster, that the member is auto healed, is >> terminated before others(when others are terminating state) >> >> or >> >> - The particular cluster, that the member is auto healed, is still >> terminating when others are terminated state >> >> One of those two cases could happen, even if the member was not auto >> healed(In case of groups, where one group is very complex, and others ar= e >> simple). Because, currently we check whether all the cluster and groups = in >> *terminating* status in the case of the parent group is *terminating,* w= hich >> is wrong. >> >> >> >> Thanks. >> >> >> >> On Thu, Jun 11, 2015 at 5:49 AM, Imesh Gunaratne >> wrote: >> >> Do we know why this only happens if a member was forcefully terminated >> and auto-healed? >> >> >> >> On Wed, Jun 10, 2015 at 10:01 PM, Lasindu Charith >> wrote: >> >> Hi all, >> >> >> >> Cause for above issue seems to be as follows. >> >> GroupStatusTerminatedProcessor and GroupStatusTerminatedProcessor >> processes the event only if all the group instances and cluster instance= s >> are in terminated state or in terminating state consequently[1][2]. But >> there can be situations(such as above), where some group instances are a= t >> terminated state and some at terminating state by the >> time GroupStatusProcessorChain is executed. For similar scenarios, both >> GroupStatusTerminatedProcessor and GroupStatusTerminatedProcessor >> executions are skipped and at GroupStatusInactiveProcessor it prints" No >> possible state change found" warning. >> >> >> >> I think we need to find a way to properly fix this. >> >> >> >> [1] >> https://github.com/apache/stratos/blob/master/components/org.apache.stra= tos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor= /group/GroupStatusTerminatedProcessor.java#L91 >> >> [2] >> https://github.com/apache/stratos/blob/master/components/org.apache.stra= tos.autoscaler/src/main/java/org/apache/stratos/autoscaler/status/processor= /group/GroupStatusTerminatingProcessor.java#L89 >> >> >> >> On Tue, Jun 9, 2015 at 8:09 PM, Lasindu Charith wrote= : >> >> Hi Martin, >> >> >> >> I was able to reproduce this issue in the latest build with PCA in >> Openstack. Even after stratos is restarted, the Application is not >> undeployed, which makes it impossible to undeploy the application (even = the >> forceful undeployment failed for the above obsolete application). >> >> >> >> Currently I'm looking at possible causes for this and will update with >> the progress. >> >> >> >> Thanks, >> >> >> >> On Tue, Jun 9, 2015 at 5:59 AM, Martin Eppel (meppel) >> wrote: >> >> Here is another example where the removal fails: >> >> >> >> For application see [1.], log file (with debug enabled) and jsons are >> attached. >> >> >> >> Scenario: >> >> >> >> =C2=B7 Deploy application and wait for all cartridges to become a= ctive >> >> =C2=B7 Kill a VM (2nd in startup sequence) >> >> =C2=B7 Wait for it to restart and become active >> >> =C2=B7 Un-deploy application >> >> a. Un-deploy forcefully will succeed >> ([2015-06-08 20:38:21,487] INFO >> {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - >> Forcefully un-deploying the application s-g-c1-c2-c3-s) >> und >> >> b. Un-deploy gracefully will fail to remove app completely >> (although VMs are terminated successfully) >> ([2015-06-08 20:54:16,372] INFO >> {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - >> Starting to undeploy application: [application-id]) >> >> =C2=B7 Both scenarios are recorded in the same log file >> wso2carbon-s-g-c1-c2-c3-s.log >> >> =C2=B7 Btw, I retested the scenario and the issue is easily >> reproducible following the steps listed above: >> graceful application un-deploy succeeds if no VM had been restarted >> (terminated and restarted by autoscaler). >> Once a VM is terminated , graceful application un-deploy will fail >> I attached a log file which demonstrates this case >> (wso2carbon-s-g-c1-c2-c3-s-scen-2.log). In this scenario, the same >> application is deployed, becomes active and is then removed (repetead 2 >> times), then, a VM is terminated and restarted by autoscaler. Afterwards= , >> graceful application un-deploy fails. >> >> >> >> >> >> Other Observations: >> >> >> >> When the application successfully some events e.g. =E2=80=9Ccluster remo= ved >> event=E2=80=9D, =E2=80=9CApplication deleted event received:=E2=80=9D ar= e being published (see [2.] >> while when the application fails to be removed no such event is being >> observed. >> >> >> >> [2.] cluster removed event when application is un-deployed forcefully >> >> TID: [0] [STRATOS] [2015-06-08 20:38:34,187] INFO >> {org.apache.stratos.cloud.controller.messaging.receiver.application.Appl= icationEventReceiver} >> - Application deleted event received: [application-id] s-g-c1-c2-c3-s >> >> TID: [0] [STRATOS] [2015-06-08 20:38:34,220] INFO >> {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPu= blisher} >> - Publishing application clusters removed event: [application-id] >> s-g-c1-c2-c3-s >> >> >> >> >> >> I analyzed the differences in the successful application removal and >> unsuccessful log sequence and noticed a difference (see also highlighted >> areas): >> >> >> >> Successful (see logs in wso2carbon-s-g-c1-c2-c3-s-scen-2.log) >> >> >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,527] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.* >> *GroupStatusTerminatedProcessor**} - StatusChecker calculating the >> terminated status for the group [ s-g-c1-c2-c3-s-x0x ] for the instance= [ >> s-g-c1-c2-c3-s-1 ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,527] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock acquired* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,527] INFO >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusTermina= tedProcessor} >> - Sending group instance terminated for [group] s-g-c1-c2-c3-s-x0x >> [instance] s-g-c1-c2-c3-s-1* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,527] DEBUG >> {org.apache.stratos.autoscaler.applications.topic.ApplicationBuilder} - >> Handling group terminated event: [group-id] s-g-c1-c2-c3-s-x0x >> [application-id] s-g-c1-c2-c3-s [instance] s-g-c1-c2-c3-s-1* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,528] DEBUG >> {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - >> ClusterMonitor Drools session has been disposed. ClusterMonitor >> [clusterId=3Ds-g-c1-c2-c3-s.c3-0x0.c3.domain, hasPrimary=3Dfalse ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,528] DEBUG >> {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - >> ClusterMonitor Drools session has been disposed. ClusterMonitor >> [clusterId=3Ds-g-c1-c2-c3-s.c1-0x0.c1.domain, hasPrimary=3Dfalse ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,528] DEBUG >> {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - >> ClusterMonitor Drools session has been disposed. ClusterMonitor >> [clusterId=3Ds-g-c1-c2-c3-s.c2-0x0.c2.domain, hasPrimary=3Dfalse ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,529] DEBUG >> {org.apache.stratos.cloud.controller.messaging.topology.TopologyManager}= - >> Write lock released* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,536] DEBUG >> {org.apache.stratos.autoscaler.registry.RegistryManager} - Application = [ >> s-g-c1-c2-c3-s ] persisted successfully in the Autoscaler Registry* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,538] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - >> Applications updated: >> {"applicationMap":{"s-g-c1-c2-c3-s":{"id":"s-g-c1-c2-c3-s","key":"l8V7Op= RqOfBcWbBw","tenantId":-1234,"tenantDomain":"carbon.super","tenantAdminUser= Name":"admin","applicationPolicyId":"default-iaas","aliasToGroupMap":{"s-g-= c1-c2-c3-s-x0x":{"name":"s-g-c1-c2-c3-s","alias":"s-g-c1-c2-c3-s-x0x","grou= pMinInstances":1,"groupMaxInstances":1,"applicationId":"s-g-c1-c2-c3-s","al= iasToGroupMap":{},"aliasToClusterDataMap":{"c2-0x0":{"serviceType":"c2","cl= usterId":"s-g-c1-c2-c3-s.c2-0x0.c2.domain","minInstances":1,"maxInstances":= 1},"c3-0x0":{"serviceType":"c3","clusterId":"s-g-c1-c2-c3-s.c3-0x0.c3.domai= n","minInstances":1,"maxInstances":1},"c1-0x0":{"serviceType":"c1","cluster= Id":"s-g-c1-c2-c3-s.c1-0x0.c1.domain","minInstances":1,"maxInstances":1}},"= typeToClusterDataMap":{"c1":{"serviceType":"c1","clusterId":"s-g-c1-c2-c3-s= .c1-0x0.c1.domain","minInstances":1,"maxInstances":1},"c2":{"serviceType":"= c2","clusterId":"s-g-c1-c2-c3-s.c2-0x0.c2.domain","minInstances":1,"maxInst= ances":1},"c3":{"serviceType":"c3","clusterId":"s-g-c1-c2-c3-s.c3-0x0.c3.do= main","minInstances":1,"maxInstances":1}},"instanceIdToInstanceContextMap":= {},"dependencyOrder":{"startupOrders":[{"startupOrderComponentList":["cartr= idge.c3-0x0","cartridge.c2-0x0"]},{"startupOrderComponentList":["cartridge.= c2-0x0","cartridge.c1-0x0"]}],"terminationBehaviour":"terminate-none"},"isG= roupScalingEnabled":false,"isGroupInstanceMonitoringEnabled":false,"instanc= eIdSequence":{"value":0}}},"aliasToClusterDataMap":{},"typeToClusterDataMap= ":{},"aliasToDeploymentPolicyIdMap":{"c3-0x0":"static-1","c2-0x0":"static-1= ","c1-0x0":"static-1"},"instanceIdToInstanceContextMap":{"s-g-c1-c2-c3-s-1"= :{"alias":"s-g-c1-c2-c3-s","instanceId":"s-g-c1-c2-c3-s-1","instancePropert= ies":{},"lifeCycleStateManager":{"stateStack":["Created","Active","Terminat= ing"],"identifier":"s-g-c1-c2-c3-s_s-g-c1-c2-c3-s-1"},"networkPartitionId":= "RegionOne"}},"dependencyOrder":{"startupOrders":[]},"isGroupScalingEnabled= ":false,"isGroupInstanceMonitoringEnabled":false,"instanceIdSequence":{"val= ue":1}}},"initialized":false}* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,539] INFO >> {org.apache.stratos.autoscaler.applications.topic.ApplicationsEventPubli= sher} >> - Publishing group instance terminated event: [application] s-g-c1-c2-c= 3-s >> [group] s-g-c1-c2-c3-s-x0x [instance] s-g-c1-c2-c3-s-1* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,545] INFO >> {org.apache.stratos.autoscaler.monitor.component.GroupMonitor} - [Group= ] >> s-g-c1-c2-c3-s-x0x is notifying the [parent] s-g-c1-c2-c3-s [instance] >> s-g-c1-c2-c3-s-1* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,545] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.* >> *GroupStatusActiveProcessor}** - GroupProcessor chain calculating the >> status for the group [ s-g-c1-c2-c3-s ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,546] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusActiveP= rocessor} >> - StatusChecker calculating the active status for the group [ >> s-g-c1-c2-c3-s ] for the instance [ s-g-c1-c2-c3-s-1 ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,546] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock acquired* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,546] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock released* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,546] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusTermina= tedProcessor} >> - StatusChecker calculating the terminated status for the group [ >> s-g-c1-c2-c3-s ] for the instance [ s-g-c1-c2-c3-s-1 ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,546] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock acquired* >> >> *TID: [0] [STRATOS] [2015-06-08 22:18:41,546] INFO >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusTermina= tedProcessor} >> - Sending application instance terminated for [application] s-g-c1-c2-c= 3-s >> [instance] s-g-c1-c2-c3-s-1* >> >> >> >> Unsuccessful: >> >> >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,404] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.* >> *GroupStatusTerminatedProcessor**} - StatusChecker calculating the >> terminated status for the group [ s-g-c1-c2-c3-s-x0x ] for the instance= [ >> s-g-c1-c2-c3-s-1 ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,404] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock acquired* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,405] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusProcess= or} >> - Checking the status of cluster s-g-c1-c2-c3-s.c1-0x0.c1.domain instan= ce >> status is: Terminating* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.cloud.controller.messaging.topology.TopologyManager}= - >> Write lock released* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusProcess= or} >> - Checking the status of cluster s-g-c1-c2-c3-s.c1-0x0.c1.domain instan= ce >> status is: Terminating* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock released* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.* >> *GroupStatusTerminatingProcessor**} - StatusChecker calculating the >> terminating status for the group [ s-g-c1-c2-c3-s-x0x ] for the instanc= e >> [ s-g-c1-c2-c3-s-1 ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock acquired* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock released* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,406] DEBUG >> {org.apache.stratos.autoscaler.status.processor.group.* >> *GroupStatusInactiveProcessor**} - StatusChecker calculating the >> inactive status for the group [ s-g-c1-c2-c3-s-x0x ] for the instance = [ >> s-g-c1-c2-c3-s-1 ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,407] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock acquired* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,407] DEBUG >> {org.apache.stratos.autoscaler.applications.ApplicationHolder} - Write >> lock released* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,407] WARN >> {org.apache.stratos.autoscaler.status.processor.group.GroupStatusInactiv= eProcessor} >> - **No possible state change found for* *[component] s-g-c1-c2-c3-s-x0x >> [instance] s-g-c1-c2-c3-s-1* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,407] DEBUG >> {org.apache.stratos.autoscaler.monitor.cluster.ClusterMonitor} - >> ClusterMonitor Drools session has been disposed. ClusterMonitor >> [clusterId=3Ds-g-c1-c2-c3-s.c2-0x0.c2.domain, hasPrimary=3Dfalse ]* >> >> *TID: [0] [STRATOS] [2015-06-08 22:33:25,481] ERROR >> {org.apache.stratos.common.concurrent.locks.ReadWriteLockMonitor} - Sys= tem >> error, lock has not released for 30 seconds: [lock-name] application >> [lock-type] Write [thread-id] 99 [thread-name] pool-26-thread-2 >> [stack-trace] * >> >> *java.lang.Thread.getStackTrace(Thread.java:1589)* >> >> >> >> >> >> >> >> >> >> [1.] Application Structure >> >> >> >> >> >> >> >> >> >> >> >> >> >> *From:* Martin Eppel (meppel) >> *Sent:* Friday, June 05, 2015 4:38 PM >> >> >> *To:* dev@stratos.apache.org >> *Subject:* RE: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> This is another application, see [1.] which fails to get completely >> removed: >> >> >> >> Scenario / Observation: >> >> =C2=B7 After all instances / application go active, one instance = is >> being terminated (to verify termination behavior). Once the terminated >> instance is restored the application is undeployed. >> >> =C2=B7 After the Application undeployment process is started, all >> instances are being terminated >> >> =C2=B7 Application still shows up in stratos admin, subsequent >> deployments fail >> >> >> >> stratos> list-applications >> >> Applications found: >> >> +---------------------+---------------------+----------+ >> >> | Application ID | Alias | Status | >> >> +---------------------+---------------------+----------+ >> >> | s-n-gr-s-G123-t-a-4 | s-n-gr-s-G123-t-a-4 | Deployed | >> >> +---------------------+---------------------+----------+ >> >> >> >> >> >> [1.] Application: >> >> >> >> >> >> >> >> >> >> >> >> *From:* Martin Eppel (meppel) >> *Sent:* Friday, June 05, 2015 3:26 PM >> *To:* dev@stratos.apache.org >> *Subject:* RE: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> After re-running it this my observations: >> >> >> >> =C2=B7 After the =E2=80=9CApplication undeployment process starte= d=E2=80=9D is >> started, there is a likelihood that (a few) VMs are still launched =E2= =80=93 I >> suspect this is due to some race condition between =E2=80=9CApplication >> undeployment process started=E2=80=9D and the =E2=80=9Cautoscaler=E2=80= =9D. >> >> =C2=B7 All Vms which were launched before the =E2=80=9CApplicatio= n >> undeployment process started=E2=80=9D get terminated as part of the unde= ployment >> process. >> >> =C2=B7 Vms which were launched after =E2=80=9CApplication undeplo= yment process >> started=E2=80=9D eventually get moved to obsolete / pending state and cl= eaned up, >> this can take up to 15- 20 minutes. >> >> =C2=B7 The application never gets completely removed, >> >> =C2=B7 The following exception is consistently observed: >> >> ID: [0] [STRATOS] [2015-06-05 20:47:07,237] WARN >> {org.apache.stratos.common.concurrent.locks.ReadWriteLock} - System >> warning! Trying to release a lock which has not been taken by the same >> thread: [lock-name] application-holder [thread-id] 114 [thread-name] >> pool-24-thread-2 >> >> *TID: [0] [STRATOS] [2015-06-05 20:47:07,237] ERROR >> {org.apache.stratos.messaging.message.receiver.topology.TopologyEventMes= sageDelegator} >> - Failed to retrieve topology event message* >> >> *org.apache.stratos.common.exception.InvalidLockRequestedException: >> System error, cannot acquire a write lock while having a read lock on th= e >> same thread: [lock-name] application-holder [thread-id] 114 [thread-name= ] >> pool-24-thread-2* >> >> * at >> org.apache.stratos.common.concurrent.locks.ReadWriteLock.acquireWriteLoc= k(ReadWriteLock.java:114)* >> >> * at >> org.apache.stratos.autoscaler.applications.ApplicationHolder.acquireWrit= eLock(ApplicationHolder.java:60)* >> >> =C2=B7 Initiating the =E2=80=9CApplication undeployment process= =E2=80=9D again will >> cause the following INFO statement (without any further actions, see in = log) >> TID: [0] [STRATOS] [2015-06-05 21:34:34,509] INFO >> {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - >> Application monitor is already in terminating, graceful un-deployment is >> has already been attempted thus not invoking again >> >> =C2=B7 Other exceptions observed after the =E2=80=9CApplication u= ndeployment >> process started=E2=80=9D >> >> TID: [0] [STRATOS] [2015-06-05 21:36:29,458] ERROR >> {org.apache.stratos.autoscaler.rule.RuleTasksDelegator} - Cannot termin= ate >> instance >> >> org.apache.stratos.cloud.controller.stub.CloudControllerServiceInvalidMe= mberExceptionException: >> CloudControllerServiceInvalidMemberExceptionException >> >> at >> sun.reflect.GeneratedConstructorAccessor219.newInstance(Unknown Source) >> >> at >> sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingCons= tructorAccessorImpl.java:45) >> >> at java.lang.reflect.Constructor.newInstance(Constructor.java:52= 6) >> >> at java.lang.Class.newInstance(Class.java:374) >> >> at >> org.apache.stratos.cloud.controller.stub.CloudControllerServiceStub.term= inateInstance(CloudControllerServiceStub.java:8633) >> >> at >> org.apache.stratos.common.client.CloudControllerServiceClient.terminateI= nstance(CloudControllerServiceClient.java:120) >> >> at >> org.apache.stratos.autoscaler.rule.RuleTasksDelegator.terminateObsoleteI= nstance(RuleTasksDelegator.java:298) >> >> at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown Source) >> >> >> >> =C2=B7 Created a jira to track this issue: >> https://issues.apache.org/jira/browse/STRATOS-1430 >> >> >> >> >> >> >> >> Regards >> >> >> >> Martin >> >> >> >> Attached the log file of the last test >> >> >> >> >> >> >> >> >> >> *From:* Martin Eppel (meppel) >> *Sent:* Friday, June 05, 2015 12:59 PM >> *To:* dev@stratos.apache.org >> *Subject:* RE: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> For this latest test I got the latest source from stratos repo so I have >> this commit (see below), but the un-deployment still fails (to some exte= nt). >> >> As mentioned below, it seems that all the members get terminated >> eventually, including the ones which got started after the =E2=80=9Cappl= ication >> un-deployment=E2=80=9D process started. >> >> What is still left in stratos (even after all members got terminated) is >> the application (see the stratos> list-applications command result below= in >> email thread). This would still be an issue when re-deploying the >> application ! >> >> I will do a few reruns to verify the removal of the VMs (members) is >> consistent. >> >> Thanks >> >> >> >> Martin >> >> >> >> git show 2fe84b91843b20e91e8cafd06011f42d218f231c >> >> commit 2fe84b91843b20e91e8cafd06011f42d218f231c >> >> Author: anuruddhal >> >> Date: Wed Jun 3 14:41:12 2015 +0530 >> >> >> >> *From:* Imesh Gunaratne [mailto:imesh@apache.org ] >> *Sent:* Friday, June 05, 2015 12:46 PM >> *To:* dev >> *Subject:* Re: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> Hi Martin, >> >> >> >> I also encountered a similar issue with the application un-deployment >> with PCA but I guess you are using JCA. >> >> >> >> I can see that Anuruddha has done a fix for the issue I'm referring with >> the below commit: >> >> >> https://github.com/apache/stratos/commit/2fe84b91843b20e91e8cafd06011f42= d218f231c >> >> >> >> Regarding the member context not found error, this could occur if the >> termination request was made for an already terminated member. There is = a >> possibility that Autoscaler make a second terminate request if the first >> request take some time to execute and at the time the second request hit >> Cloud Controller the member is already terminated with the first request= . >> >> >> >> Can you please confirm whether the members were properly terminated and >> its just this exceptions that you are seeing? >> >> >> >> Thanks >> >> >> >> >> >> On Sat, Jun 6, 2015 at 12:36 AM, Martin Eppel (meppel) >> wrote: >> >> Hi Udara, >> >> >> >> Picked up your commit and rerun the test case: >> >> >> >> Attached is the log file (artifacts are the same as before). >> >> >> >> *Didn=E2=80=99t see the issue with* =E2=80=9C*Member is in the wrong lis= t=E2=80=9D =E2=80=A6* >> >> >> >> but see the following exception after the undeploy application message: >> >> *TID: [0] [STRATOS] [2015-06-05 18:09:46,836] ERROR >> {org.apache.stratos.messaging.message.receiver.topology.TopologyEventMes= sageDelegator} >> - Failed to retrieve topology event message* >> >> *org.apache.stratos.common.exception.InvalidLockRequestedException: >> System error, cannot acquire a write lock while having a read lock on th= e >> same thread: [lock-name] application-holder [thread-id] 114 [thread-name= ] >> pool-24-thread-2* >> >> * at >> org.apache.stratos.common.concurrent.locks.ReadWriteLock.acquireWriteLoc= k(ReadWriteLock.java:114)* >> >> * at >> org.apache.stratos.autoscaler.applications.ApplicationHolder.acquireWrit= eLock(ApplicationHolder.java:60)* >> >> >> >> >> >> *Also, after the =E2=80=9CApplication undeployment process started=E2=80= =9D is started, >> new members are being instantiated:* >> >> >> >> *TID: [0] [STRATOS] [2015-06-05 18:07:46,545] INFO >> {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPu= blisher} >> - Publishing member created event*: >> >> >> >> >> >> *Eventually, these VMs get terminated :* >> >> >> >> *TID: [0] [STRATOS] [2015-06-05 18:42:42,413] ERROR >> {org.apache.stratos.cloud.controller.services.impl.CloudControllerServic= eImpl} >> - Could not terminate instance: [member-id] >> g-sc-G12-1.c1-0x0.c1.domaindd9c1d40-70cc-4950-9757-418afe19ba7f* >> >> *org.apache.stratos.cloud.controller.exception.InvalidMemberException: >> Could not terminate instance, member context not found: [member-id] >> g-sc-G12-1.c1-0x0.c1.domaindd9c1d40-70cc-4950-9757-418afe19ba7f* >> >> * at >> org.apache.stratos.cloud.controller.services.impl.CloudControllerService= Impl.terminateInstance(CloudControllerServiceImpl.java:595)* >> >> * at >> sun.reflect.GeneratedMethodAccessor408.invoke(Unknown Source)* >> >> * at >> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor= Impl.java:43)* >> >> * at java.lang.reflect.Method.invoke(Method.java:606)= * >> >> >> >> >> >> *but the application remains:* >> >> >> >> stratos> list-applications >> >> Applications found: >> >> +----------------+------------+----------+ >> >> | Application ID | Alias | Status | >> >> +----------------+------------+----------+ >> >> | g-sc-G12-1 | g-sc-G12-1 | Deployed | >> >> +----------------+------------+----------+ >> >> >> >> ['g-sc-G12-1: applicationInstances 1, groupInstances 2, clusterInstances >> 3, members 0 ()\n'] >> >> >> >> >> >> >> >> *From:* Martin Eppel (meppel) >> *Sent:* Friday, June 05, 2015 10:04 AM >> *To:* dev@stratos.apache.org >> *Subject:* RE: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> Ok: >> >> >> >> log4j.logger.org.apache.stratos.manager=3DDEBUG >> >> log4j.logger.org.apache.stratos.autoscaler=3DDEBUG >> >> log4j.logger.org.apache.stratos.messaging=3DINFO >> >> log4j.logger.org.apache.stratos.cloud.controller=3DDEBUG >> >> log4j.logger.org.wso2.andes.client=3DERROR >> >> # Autoscaler rule logs >> >> log4j.logger.org.apache.stratos.autoscaler.rule.RuleLog=3DDEBUG >> >> >> >> *From:* Udara Liyanage [mailto:udara@wso2.com ] >> *Sent:* Friday, June 05, 2015 10:00 AM >> *To:* dev >> *Subject:* Re: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> Hi Martin, >> >> >> >> Better if you can enable debugs logs for all AS, CC and cartridge agent >> >> >> >> On Fri, Jun 5, 2015 at 10:23 PM, Udara Liyanage wrote: >> >> Hi, >> >> >> >> Please enable AS debug logs. >> >> >> >> On Fri, Jun 5, 2015 at 9:38 PM, Martin Eppel (meppel) >> wrote: >> >> Hi Udara, >> >> >> >> Yes, this issue seems to be fairly well reproducible, which debug log do >> you want me to enable, cartridge agent logs ? >> >> >> >> Thanks >> >> >> >> Martin >> >> >> >> *From:* Udara Liyanage [mailto:udara@wso2.com] >> *Sent:* Thursday, June 04, 2015 11:11 PM >> *To:* dev >> *Subject:* Re: Testing Stratos 4.1: Application undeployment: >> application fails to undeploy (nested grouping, group scaling) >> >> >> >> Hi, >> >> >> >> This might be possible if AS did not receive member activated event >> published by CC. Is it possible to enable debug logs if this is >> reproducible. >> >> Or else I can add an INFO logs and commit. >> >> >> >> >> >> On Fri, Jun 5, 2015 at 9:11 AM, Udara Liyanage wrote: >> >> Hi, >> >> >> >> >> >> For the first issue you have mentioned, the particular member is >> activated, but it is still identified as an obsolete member and is being >> marked to be terminated since pending time expired. Does that mean membe= r >> is still in Obsolete list even though it is being activated? >> >> >> >> //member started >> >> TID: [0] [STRATOS] [2015-06-04 19:53:04,706] INFO >> {org.apache.stratos.autoscaler.context.cluster.ClusterContext} - Member >> stat context has been added: [application] g-sc-G12-1 [cluster] >> g-sc-G12-1.c1-0x0.c1.domain [clusterInstanceContext] g-sc-G12-1-1 >> [partitionContext] whole-region [member-id] >> g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4acb5b1 >> >> >> >> //member activated >> >> TID: [0] [STRATOS] [2015-06-04 19:56:00,907] INFO >> {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventPu= blisher} >> - Publishing member activated event: [service-name] c1 [cluster-id] >> g-sc-G12-1.c1-0x0.c1.domain [cluster-instance-id] g-sc-G12-1-1 [member-i= d] >> g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4acb5b1 >> [network-partition-id] RegionOne [partition-id] whole-region >> >> TID: [0] [STRATOS] [2015-06-04 19:56:00,916] INFO >> {org.apache.stratos.messaging.message.processor.topology.MemberActivated= MessageProcessor} >> - Member activated: [service] c1 [cluster] g-sc-G12-1.c1-0x0.c1.domain >> [member] g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4acb5b1 >> >> >> >> //after 15 minutes ---member is still in pending state, pending timeout >> expired >> >> TID: [0] [STRATOS] [2015-06-04 20:08:04,713] INFO >> {org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionCo= ntext$PendingMemberWatcher} >> - Pending state of member expired, member will be moved to obsolete lis= t. >> [pending member] >> g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4acb5b1 [expiry >> time] 900000 [cluster] g-sc-G12-1.c1-0x0.c1.domain [cluster instance] nu= ll >> >> >> >> On Fri, Jun 5, 2015 at 5:14 AM, Martin Eppel (meppel) >> wrote: >> >> Hi, >> >> >> >> I am running into a scenario where application un-deployment fails (usin= g >> stratos with latest commit b1b6bca3f99b6127da24c9af0a6b20faff2907be). >> >> >> >> For application structure see [1.], (debug enabled) wso2carbon.log, >> application.json, cartridge-group.json, deployment-policy, auto-scaling >> policies see attached zip file. >> >> >> >> *It is noteworthy, that while the application is running the following >> log statements /exceptions are observed:* >> >> >> >> *=E2=80=A6* >> >> *Member is in the wrong list and it is removed from active members list: >> g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4acb5b1* >> >> *=E2=80=A6* >> >> *TID: [0] [STRATOS] [2015-06-04 20:11:03,425] ERROR >> {org.apache.stratos.autoscaler.rule.RuleTasksDelegator} - Cannot termin= ate >> instance* >> >> *=E2=80=A6* >> >> *// **after receiving the application undeploy event:* >> >> *[2015-06-04 20:12:39,465] INFO >> {org.apache.stratos.autoscaler.services.impl.AutoscalerServiceImpl} - >> Application undeployment process started: [application-id] g-sc-G12-1* >> >> *// **a new instance is being started up* >> >> *=E2=80=A6* >> >> *[2015-06-04 20:13:13,445] INFO >> {org.apache.stratos.cloud.controller.services.impl.InstanceCreator} - >> Instance started successfully: [cartridge-type] c2 [cluster-id] >> g-sc-G12-1.c2-1x0.c2.domain [instance-id] >> RegionOne/5d4699f7-b00b-42eb-b565-b48fc8f20407* >> >> >> >> *// Also noteworthy seems the following warning which is seen repeatedly >> in the logs:* >> >> *ReadWriteLock} - System warning! Trying to release a lock which has no= t >> been taken by the same thread: [lock-name]* >> >> >> >> >> >> [1.] Application structure >> >> >> >> >> >> >> >> >> >> >> >> ... >> >> [Message clipped] > > > > > -- > *Lasindu Charith* > Software Engineer, WSO2 Inc. > Mobile: +94714427192 > Web: blog.lasindu.com > --=20 *Lasindu Charith* Software Engineer, WSO2 Inc. Mobile: +94714427192 Web: blog.lasindu.com --001a1134a04c996034051854c6d8 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Martin,

I have fixed above issue in = commit=C2=A003de83172309c2932075fb5284c120ca610bbf0a. Please take a pull fr= om the master and try-out your scenario again to see if undeployment/redepl= oyment works as expected.

Thanks,


On Thu, Jun 1= 1, 2015 at 11:52 PM, Lasindu Charith <lasindu@wso2.com> wrote= :
Hi Martin,

I guess my previous observation is incorrect. The root cause for th= e above issue is because=C2=A0ClusterStatusTerminatedProcessor=C2=A0= does not send=C2=A0ClusterTerminatedEvent for all 3 clusters. It onl= y sends 1 and fails to send other 2 clusterTerminated events. This is becau= se, when application is activated again=C2=A0ClusterLevelPartitionContex= t is=C2=A0added twice to the=C2=A0clusterInstanceContext. This=C2=A0makes the if condition failed at [1] when=C2=A0trying to find ou= t whether cluster monitor has any non terminated members at=C2=A0Cluster= StatusTerminatedProcessor=C2=A0before sending clusterTerminated event. = Will try to find a proper solution and update the thread.
=

On Thu,= Jun 11, 2015 at 10:29 PM, Martin Eppel (meppel) <meppel@cisco.com><= /span> wrote:

Is there any conclusion h= ow to this fix this ?

=C2=A0

Thanks

=C2=A0

=C2=A0

Martin

=C2=A0

From: Lahiru S= andaruwan [mailto:lah= irus@wso2.com]
Sent: Wednesday, June 10, 2015 6:55 PM
To: dev
Cc: Reka Thirunavukkarasu


Subject: Re: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
<= /div>

=C2=A0

Hi Imesh,

=C2=A0

Following could be the possible reason for not un-de= ploying when member was auto healed,

=C2=A0

  • The particular cluster, that the member is auto healed, is terminated befor= e others(when others are terminating state)

or

  • The particular cluster, that the member is auto healed, is still terminatin= g when others are terminated state

One of those two cases could happen, even if the mem= ber was not auto healed(In case of groups, where one group is very complex,= and others are simple). Because, currently we check whether all the cluste= r and groups in terminating=C2=A0status in the case of the parent group is termin= ating,=C2=A0which is wrong.

=C2=A0

Thanks.

=C2=A0

On Thu, Jun 11, 2015 at 5:49 AM, Imesh Gunaratne <= ;imesh@apache.org= > wrote:

Do we know why this only happens if a member was for= cefully terminated and auto-healed?

=C2=A0

On Wed, Jun 10, 2015 at 10:01 PM, Lasindu Charith &l= t;lasindu@wso2.com> wrote:

Hi =C2=A0all,

=C2=A0

Cause for above issue seems to be as follows.=C2=A0<= u>

GroupStatusTerminatedProcessor and GroupStatusTermin= atedProcessor processes the event only if all the group instances and clust= er instances are in terminated state or in terminating state consequently[1= ][2]. But there can be situations(such as above), where some group instances are at terminated state and some at = terminating state by the time=C2=A0GroupStatusProcessorChain is executed. F= or similar scenarios, both GroupStatusTerminatedProcessor and GroupStatusTe= rminatedProcessor executions are skipped and at=C2=A0GroupStatusInactiveProcessor it prints" No possible state= change found" warning.

=C2=A0

I think we need to find a way to properly fix this.= =C2=A0

=C2=A0

=C2=A0

On Tue, Jun 9, 2015 at 8:09 PM, Lasindu Charith <= lasindu@wso2.com&= gt; wrote:

Hi Martin,

=C2=A0

I was able to reproduce this issue in the latest bui= ld with PCA in Openstack. Even after stratos is restarted, the Application = is not undeployed, which makes it impossible to undeploy the application (e= ven the forceful undeployment failed for the above obsolete application).

=C2=A0

Currently I'm looking at possible causes for thi= s and will update with the progress.

=C2=A0

Thanks,

=C2=A0

On Tue, Jun 9, 2015 at 5:59 AM, Martin Eppel (meppel= ) <meppel@cisco.co= m> wrote:

Here is another example w= here the removal fails:

=C2=A0

For application see [1.],= log file (with debug enabled) and jsons are attached.

=C2=A0

Scenario:

=C2=A0

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Deploy application and wait for all cartr= idges to become active

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Kill a VM (2nd in startup sequ= ence)

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Wait for it to restart and become active<= /span>

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Un-deploy application

a.=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Un-deploy forcefully will succeed
([2015-06-08 20:38:21,487]=C2=A0 INFO {org.apache.stratos.autoscaler.servic= es.impl.AutoscalerServiceImpl} -=C2=A0 Forcefully un-deploying the applicat= ion s-g-c1-c2-c3-s)
und

b.=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 Un-deploy gracefully will fail to remove = app completely (although VMs are terminated successfully)
([2015-06-08 20:54:16,372]=C2=A0 INFO {org.apache.stratos.autoscaler.servic= es.impl.AutoscalerServiceImpl} -=C2=A0 Starting to undeploy application: [a= pplication-id])

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Both scenarios are recorded in the same l= og file wso2carbon-s-g-c1-c2-c3-s.log

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Btw, I retested the scenario and the issu= e is easily =C2=A0reproducible following the steps listed above:
graceful application un-deploy succeeds if no VM had been restarted (termin= ated and restarted by autoscaler).
Once a VM is terminated , graceful application un-deploy will fail
I attached a log file which demonstrates this case (wso2carbon-s-g-c1-c2-c3= -s-scen-2.log). In this scenario, the same application is deployed, becomes= active and is then removed (repetead 2 times), then, a VM is terminated an= d restarted by autoscaler. Afterwards, graceful application un-deploy fails.

=C2=A0

=C2=A0

Other Observations:

=C2=A0

When the application succ= essfully some events e.g. =E2=80=9Ccluster removed event=E2=80=9D, =E2=80= =9CApplication deleted event received:=E2=80=9D are being published (see [2.] while when the appl= ication fails to be removed no such event is being observed.<= u>

=C2=A0

[2.] cluster removed even= t when application is un-deployed forcefully

TID: [0] [STRATOS] [2015-= 06-08 20:38:34,187]=C2=A0 INFO {org.apache.stratos.cloud.controller.messagi= ng.receiver.application.ApplicationEventReceiver} -=C2=A0 Application deleted event received: [application-id] s-g-c1-c2-c3-= s

TID: [0] [STRATOS] [2015-= 06-08 20:38:34,220]=C2=A0 INFO {org.apache.stratos.cloud.controller.messagi= ng.publisher.TopologyEventPublisher} -=C2=A0 Publishing application clusters removed event: [application-id] s-= g-c1-c2-c3-s

=C2=A0

=C2=A0

I analyzed the difference= s in the successful application removal and unsuccessful log sequence and noticed a difference (see also highlighted areas):

=C2=A0

Successful (see logs in w= so2carbon-s-g-c1-c2-c3-s-scen-2.log)

=C2=A0

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,527] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusTerminatedProcessor} -=C2=A0 StatusChecker calculating the terminated status for the group [ s-= g-c1-c2-c3-s-x0x ]=C2=A0 for the instance=C2=A0 [ s-g-c1-c2-c3-s-1 ]=

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,527] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock acquired

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,527]=C2=A0 INFO {org.apache.stratos.autoscaler.status.proc= essor.group.GroupStatusTerminatedProcessor} -=C2=A0 Sending group instance terminated for [group] s-g-c1-c2-c3-s-x0x [= instance] s-g-c1-c2-c3-s-1

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,527] DEBUG {org.apache.stratos.autoscaler.applications.top= ic.ApplicationBuilder} -=C2=A0 Handling group terminated event: [group-id] s-g-c1-c2-c3-s-x0x [ap= plication-id] s-g-c1-c2-c3-s [instance] s-g-c1-c2-c3-s-1<= u>

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,528] DEBUG {org.apache.stratos.autoscaler.monitor.cluster.= ClusterMonitor} -=C2=A0 ClusterMonitor Drools session has been disposed. ClusterMonitor [c= lusterId=3Ds-g-c1-c2-c3-s.c3-0x0.c3.domain, hasPrimary=3Dfalse ]=

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,528] DEBUG {org.apache.stratos.autoscaler.monitor.cluster.= ClusterMonitor} -=C2=A0 ClusterMonitor Drools session has been disposed. ClusterMonitor [c= lusterId=3Ds-g-c1-c2-c3-s.c1-0x0.c1.domain, hasPrimary=3Dfalse ]=

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,528] DEBUG {org.apache.stratos.autoscaler.monitor.cluster.= ClusterMonitor} -=C2=A0 ClusterMonitor Drools session has been disposed. ClusterMonitor [c= lusterId=3Ds-g-c1-c2-c3-s.c2-0x0.c2.domain, hasPrimary=3Dfalse ]=

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,529] DEBUG {org.apache.stratos.cloud.controller.messaging.= topology.TopologyManager} -=C2=A0 Write lock released

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,536] DEBUG {org.apache.stratos.autoscaler.registry.Registr= yManager} -=C2=A0 Application [ s-g-c1-c2-c3-s ] persisted successfully in the Autos= caler Registry

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,538] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Applications updated: {"applicationMap":{"s-g-c1-c2= -c3-s":{"id":"s-g-c1-c2-c3-s","key":&quo= t;l8V7OpRqOfBcWbBw","tenantId":-1234,"tenantDomain"= ;:"carbon.super","tenantAdminUserName":"admin"= ;,"applicationPolicyId":"default-iaas","aliasToGro= upMap":{"s-g-c1-c2-c3-s-x0x":{"name":"s-g-c1-= c2-c3-s","alias":"s-g-c1-c2-c3-s-x0x","groupM= inInstances":1,"groupMaxInstances":1,"applicationId&quo= t;:"s-g-c1-c2-c3-s","aliasToGroupMap":{},"aliasToC= lusterDataMap":{"c2-0x0":{"serviceType":"c2&q= uot;,"clusterId":"s-g-c1-c2-c3-s.c2-0x0.c2.domain",&quo= t;minInstances":1,"maxInstances":1},"c3-0x0":{&quo= t;serviceType":"c3","clusterId":"s-g-c1-c2-c3= -s.c3-0x0.c3.domain","minInstances":1,"maxInstances&quo= t;:1},"c1-0x0":{"serviceType":"c1","clus= terId":"s-g-c1-c2-c3-s.c1-0x0.c1.domain","minInstances&= quot;:1,"maxInstances":1}},"typeToClusterDataMap":{&quo= t;c1":{"serviceType":"c1","clusterId":&q= uot;s-g-c1-c2-c3-s.c1-0x0.c1.domain","minInstances":1,"= maxInstances":1},"c2":{"serviceType":"c2"= ;,"clusterId":"s-g-c1-c2-c3-s.c2-0x0.c2.domain","m= inInstances":1,"maxInstances":1},"c3":{"servi= ceType":"c3","clusterId":"s-g-c1-c2-c3-s.c3-0= x0.c3.domain","minInstances":1,"maxInstances":1}},= "instanceIdToInstanceContextMap":{},"dependencyOrder":{= "startupOrders":[{"startupOrderComponentList":["ca= rtridge.c3-0x0","cartridge.c2-0x0"]},{"startupOrderComp= onentList":["cartridge.c2-0x0","cartridge.c1-0x0"]= }],"terminationBehaviour":"terminate-none"},"isGro= upScalingEnabled":false,"isGroupInstanceMonitoringEnabled":f= alse,"instanceIdSequence":{"value":0}}},"aliasToCl= usterDataMap":{},"typeToClusterDataMap":{},"aliasToDepl= oymentPolicyIdMap":{"c3-0x0":"static-1","c2-0= x0":"static-1","c1-0x0":"static-1"},&quo= t;instanceIdToInstanceContextMap":{"s-g-c1-c2-c3-s-1":{"= ;alias":"s-g-c1-c2-c3-s","instanceId":"s-g-c1= -c2-c3-s-1","instanceProperties":{},"lifeCycleStateMana= ger":{"stateStack":["Created","Active",&= quot;Terminating"],"identifier":"s-g-c1-c2-c3-s_s-g-c1-= c2-c3-s-1"},"networkPartitionId":"RegionOne"}},&qu= ot;dependencyOrder":{"startupOrders":[]},"isGroupScalin= gEnabled":false,"isGroupInstanceMonitoringEnabled":false,&qu= ot;instanceIdSequence":{"value":1}}},"initialized"= :false}

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,539]=C2=A0 INFO {org.apache.stratos.autoscaler.application= s.topic.ApplicationsEventPublisher} -=C2=A0 Publishing group instance terminated event: [application] s-g-c1-c= 2-c3-s [group] s-g-c1-c2-c3-s-x0x [instance] s-g-c1-c2-c3-s-1=

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,545]=C2=A0 INFO {org.apache.stratos.autoscaler.monitor.com= ponent.GroupMonitor} -=C2=A0 [Group] s-g-c1-c2-c3-s-x0x is notifying the [parent] s-g-c1-c2-c3-= s [instance] s-g-c1-c2-c3-s-1

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,545] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusActiveProcessor} -=C2=A0 GroupProcessor chain calculating the status for the group [ s-g-c1= -c2-c3-s ]

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,546] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusActiveProcessor} -=C2=A0 StatusChecker calculating the active status for the group [ s-g-c1= -c2-c3-s ]=C2=A0 for the instance=C2=A0 [ s-g-c1-c2-c3-s-1 ]<= /u>

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,546] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock acquired

TID: [0] [STRATOS] [201= 5-06-08 22:18:41,546] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock released

TID: [0] [STRATOS] [2015-06= -08 22:18:41,546] DEBUG {org.apache.stratos.autoscaler.status.processor.gro= up.GroupStatusTerminatedProcessor} -=C2=A0 StatusChecker calculating the terminated status for the group [ s-= g-c1-c2-c3-s ]=C2=A0 for the instance=C2=A0 [ s-g-c1-c2-c3-s-1 ]=

TID: [0] [STRATOS] [2015-06= -08 22:18:41,546] DEBUG {org.apache.stratos.autoscaler.applications.Applica= tionHolder} - =C2=A0Write lock acquired

TID: [0] [STRATOS] [2015-06= -08 22:18:41,546]=C2=A0 INFO {org.apache.stratos.autoscaler.status.processo= r.group.GroupStatusTerminatedProcessor} -=C2=A0 Sending application instance terminated for [application] s-g-c1-c= 2-c3-s [instance] s-g-c1-c2-c3-s-1

=C2=A0

Unsuccessful:

=C2=A0

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,404] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusTerminatedProcessor} -=C2=A0 StatusChecker calculating the terminated status for the group [ s-= g-c1-c2-c3-s-x0x ]=C2=A0 for the instance=C2=A0 [ s-g-c1-c2-c3-s-1 ]=

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,404] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock acquired

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,405] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusProcessor} -=C2=A0 Checking the status of cluster s-g-c1-c2-c3-s.c1-0x0.c1.domain ins= tance status is: Terminating

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.cloud.controller.messaging.= topology.TopologyManager} -=C2=A0 Write lock released

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusProcessor} -=C2=A0 Checking the status of cluster s-g-c1-c2-c3-s.c1-0x0.c1.domain ins= tance status is: Terminating

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock released

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusTerminatingProcessor<= /span>} -=C2=A0 StatusChecker calculating the terminating status for the group [ s= -g-c1-c2-c3-s-x0x ]=C2=A0 for the instance=C2=A0 [ s-g-c1-c2-c3-s-1 ]

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock acquired

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock released

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,406] DEBUG {org.apache.stratos.autoscaler.status.processor= .group.GroupStatusInactiveProcessor} -=C2=A0 StatusChecker calculating the inactive status for the group [ s-g-= c1-c2-c3-s-x0x ]=C2=A0 for the instance=C2=A0 [ s-g-c1-c2-c3-s-1 ]

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,407] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock acquired

TID: [0] [STRATOS] [201= 5-06-08 22:33:25,407] DEBUG {org.apache.stratos.autoscaler.applications.App= licationHolder} -=C2=A0 Write lock released

TID: [0] [STRATOS] [2015-06= -08 22:33:25,407]=C2=A0 WARN {org.apache.stratos.autoscaler.status.processo= r.group.GroupStatusInactiveProcessor} -=C2=A0 No possible state change f= ound for [component] s-g-c1-c2-c3-s-x0x [ins= tance] s-g-c1-c2-c3-s-1

TID: [0] [STRATOS] [2015-06= -08 22:33:25,407] DEBUG {org.apache.stratos.autoscaler.monitor.cluster.Clus= terMonitor} -=C2=A0 ClusterMonitor Drools session has been disposed. ClusterMonitor [c= lusterId=3Ds-g-c1-c2-c3-s.c2-0x0.c2.domain, hasPrimary=3Dfalse ]=

TID: [0] [STRATOS] [2015-06= -08 22:33:25,481] ERROR {org.apache.stratos.common.concurrent.locks.ReadWri= teLockMonitor} -=C2=A0 System error, lock has not released for 30 seconds: [lock-name] ap= plication [lock-type] Write [thread-id] 99 [thread-name] pool-26-thread-2 [= stack-trace]

java.lang.Thread.getStackTr= ace(Thread.java:1589)

=C2=A0

=C2=A0

=C2=A0

=C2=A0

[1.] Application Structur= e

<= u>

=C2=A0

=C2=A0

=C2=A0

=C2=A0

=C2=A0

=C2=A0

From: Martin E= ppel (meppel)
Sent: Friday, June 05, 2015 4:38 PM


To: dev@= stratos.apache.org
Subject: RE: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)

=C2=A0

This is another applicati= on, see [1.] which fails to get completely removed:

=C2=A0

Scenario / Observation:

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 After all instances / application go acti= ve, one instance is being terminated (to verify termination behavior). Once= the terminated instance is restored the application is undeployed.

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 After the Application undeployment proces= s is started, all instances are being terminated

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Application still shows up in stratos adm= in, subsequent deployments fail

=C2=A0

stratos> list-applicat= ions

Applications found:

+---------------------+--= -------------------+----------+

| Application ID=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 | Alias=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | Status=C2=A0=C2=A0 |

+---------------------+--= -------------------+----------+

| s-n-gr-s-G123-t-a-4 | s= -n-gr-s-G123-t-a-4 | Deployed |

+---------------------+--= -------------------+----------+

=C2=A0

=C2=A0

[1.] Application:<= u>

=C2=A0

<= u>

=C2=A0

=C2=A0

=C2=A0

=C2=A0

From: Martin E= ppel (meppel)
Sent: Friday, June 05, 2015 3:26 PM
To: dev@= stratos.apache.org
Subject: RE: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
=

=C2=A0

After re-running it this = my observations:

=C2=A0

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 After the =E2=80=9CApplication undeployme= nt process started=E2=80=9D is started, there is a likelihood that (a few) = VMs are still launched =E2=80=93 I suspect this is due to some race conditi= on between =E2=80=9CApplication undeployment process started=E2=80=9D and the= =E2=80=9Cautoscaler=E2=80=9D.

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 All Vms which were launched before the = =E2=80=9CApplication undeployment process started=E2=80=9D get terminated a= s part of the undeployment process.

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Vms which were launched after =E2=80=9CAp= plication undeployment process started=E2=80=9D eventually get moved to obs= olete / pending state and cleaned up, this can take up to 15- 20 minutes.

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 The application never gets completely rem= oved,

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 The following exception is consistently o= bserved:

ID: [0] [STRATOS] [2015-06-05 20:47:07,237]=C2= =A0 WARN {org.apache.stratos.common.concurrent.locks.ReadWriteLock} -=C2=A0= System warning! Trying to release a lock which has not been taken by the same thread: [lock-name] application-holder [thread-id] 114 [thread= -name] pool-24-thread-2

TID: [0] [STRATOS] [2015-06-05 20:47:07,237= ] ERROR {org.apache.stratos.messaging.message.receiver.topology.TopologyEve= ntMessageDelegator} -=C2=A0 Failed to retrieve topology event message

org.apache.stratos.common.exception.Invalid= LockRequestedException: System error, cannot acquire a write lock while hav= ing a read lock on the same thread: [lock-name] application-holder [thread-id] 114 [thread-name] pool-24-thread-2

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at= org.apache.stratos.common.concurrent.locks.ReadWriteLock.acquireWriteLock(= ReadWriteLock.java:114)

=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 at= org.apache.stratos.autoscaler.applications.ApplicationHolder.acquireWriteL= ock(ApplicationHolder.java:60)

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Initiating the =E2=80=9CApplication undep= loyment process=E2=80=9D again will cause the following INFO statement (wit= hout any further actions, see in log)
TID: [0] [STRATOS] [2015-06-05 21:34:34,509]=C2=A0 INFO {org.apache.stratos= .autoscaler.services.impl.AutoscalerServiceImpl} -=C2=A0 Application monito= r is already in terminating, graceful un-deployment is has already been att= empted thus not invoking again

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Other exceptions observed after the =E2= =80=9CApplication undeployment process started=E2=80=9D

TID: [0] [STRATOS] [2015-0= 6-05 21:36:29,458] ERROR {org.apache.stratos.autoscaler.rule.RuleTasksDeleg= ator} -=C2=A0 Cannot terminate instance

org.apache.stratos.cloud.c= ontroller.stub.CloudControllerServiceInvalidMemberExceptionException: Cloud= ControllerServiceInvalidMemberExceptionException

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at sun.reflect.GeneratedConstructorAccessor219.newInstan= ce(Unknown Source)

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at sun.reflect.DelegatingConstructorAccessorImpl.newInst= ance(DelegatingConstructorAccessorImpl.java:45)

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at java.lang.reflect.Constructor.newInstance(Constructor= .java:526)

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at java.lang.Class.newInstance(Class.java:374)=

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at org.apache.stratos.cloud.controller.stub.CloudControl= lerServiceStub.terminateInstance(CloudControllerServiceStub.java:8633)

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at org.apache.stratos.common.client.CloudControllerServi= ceClient.terminateInstance(CloudControllerServiceClient.java:120)=

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at org.apache.stratos.autoscaler.rule.RuleTasksDelegator= .terminateObsoleteInstance(RuleTasksDelegator.java:298)

=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at sun.reflect.GeneratedMethodAccessor413.invoke(Unknown= Source)

=C2=A0

=C2=B7= =C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0 Created a jira to track this issue: https://issues.apache.org/jira/browse/STRATOS-1430<= u>

=C2=A0

=C2=A0

=C2=A0

Regards

=C2=A0

Martin

=C2=A0

Attached the log file of the last test=

=C2=A0

=C2=A0

=C2=A0

=C2=A0

From: Martin E= ppel (meppel)
Sent: Friday, June 05, 2015 12:59 PM
To: dev@= stratos.apache.org
Subject: RE: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
=

=C2=A0

For this latest test I go= t the latest source from stratos repo so I have this commit (see below), but the un-deployment still fails (to some extent).

As mentioned below, it se= ems that all the members get terminated eventually, including the ones whic= h got started after the =E2=80=9Capplication un-deployment=E2=80=9D process = started.

What is still left in str= atos (even after all members got terminated) is the application (see the stratos> list-applications command result below in email thread). This = would still be an issue when re-deploying the application !

I will do a few reruns to= verify the removal of the VMs (members) is consistent.

Thanks

=C2=A0

Martin

=C2=A0

git show 2fe84b91843b20e9= 1e8cafd06011f42d218f231c

commit 2fe84b91843b20e91e= 8cafd06011f42d218f231c

Author: anuruddhal <anuruddha789@gmai= l.com>

Date:=C2=A0=C2=A0 Wed Jun= 3 14:41:12 2015 +0530

=C2=A0

From: Imesh Gu= naratne [mailto:imesh= @apache.org]
Sent: Friday, June 05, 2015 12:46 PM
To: dev
Subject: Re: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
=

=C2=A0

Hi Martin,

=C2=A0

I also encountered a similar issue with the applicat= ion un-deployment with PCA but I guess you are using JCA.=C2=A0

=C2=A0

I can see that Anuruddha has done a fix for the issu= e I'm referring with the below commit:

=C2=A0

Regarding the member context not found error, this c= ould occur if the termination request was made for an already terminated me= mber. There is a possibility that Autoscaler make a second terminate request if the first request take some time to execute = and at the time the second request hit Cloud Controller the member is alrea= dy terminated with the first request.=C2=A0

=C2=A0

Can you please confirm whether the members were prop= erly terminated and its just this exceptions that you are seeing?=

=C2=A0

Thanks

=C2=A0

=C2=A0

On Sat, Jun 6, 2015 at 12:36 AM, Martin Eppel (meppe= l) <meppel@cisco.c= om> wrote:

Hi Udara,

=C2=A0

Picked up your commit and= rerun the test case:

=C2=A0

Attached is the log file = (artifacts are the same as before).

=C2=A0

Didn=E2=80=99t see the= issue with =E2=80=9CMember is in the wrong list=E2=80=9D =E2=80=A6

=C2=A0

but see the following exc= eption after the undeploy application message:

TID: [0] [STRATOS] [201= 5-06-05 18:09:46,836] ERROR {org.apache.stratos.messaging.message.receiver.= topology.TopologyEventMessageDelegator} -=C2=A0 Failed to retrieve topology event message=

org.apache.stratos.comm= on.exception.InvalidLockRequestedException: System error, cannot acquire a write lock while having a read lock on the same thread: [lock-name] appl= ication-holder [thread-id] 114 [thread-name] pool-24-thread-2=

=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at org.apache.stratos.common.concurrent.locks.ReadWriteL= ock.acquireWriteLock(ReadWriteLock.java:114)

=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at org.apache.stratos.autoscaler.applications.Applicatio= nHolder.acquireWriteLock(ApplicationHolder.java:60)

=C2=A0

=C2=A0

Also, after the =E2=80= =9CApplication undeployment process started=E2=80=9D is started, new member= s are being instantiated:

=C2=A0

TID: [0] [STRATOS] [201= 5-06-05 18:07:46,545]=C2=A0 INFO {org.apache.stratos.cloud.controller.messa= ging.publisher.TopologyEventPublisher} -=C2=A0 Publishing member created event:

=C2=A0

=C2=A0

Eventually, these VMs = get terminated :

=C2=A0

TID: [0] [STRATOS] [201= 5-06-05 18:42:42,413] ERROR {org.apache.stratos.cloud.controller.services.i= mpl.CloudControllerServiceImpl} -=C2=A0 Could not terminate instance: [member-id] g-sc-G12-1.c1-0x0.c1.dom= aindd9c1d40-70cc-4950-9757-418afe19ba7f

org.apache.stratos.clou= d.controller.exception.InvalidMemberException: Could not terminate instance= , member context not found: [member-id] g-sc-G12-1.c1-0x0.c1.domaindd9c1d40-= 70cc-4950-9757-418afe19ba7f

=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at org.apache.stratos.cloud.controller.services.impl.Clo= udControllerServiceImpl.terminateInstance(CloudControllerServiceImpl.java:5= 95)

=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at sun.reflect.GeneratedMethodAccessor408.invoke(Unknown= Source)

=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at sun.reflect.DelegatingMethodAccessorImpl.invoke(Deleg= atingMethodAccessorImpl.java:43)

=C2=A0=C2=A0=C2=A0=C2= =A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0= =C2=A0=C2=A0=C2=A0 at java.lang.reflect.Method.invoke(Method.java:606)

=C2=A0

=C2=A0

but the application re= mains:

=C2=A0

stratos> list-applicat= ions

Applications found:

+----------------+-------= -----+----------+

| Application ID | Alias= =C2=A0=C2=A0=C2=A0=C2=A0=C2=A0 | Status=C2=A0=C2=A0 |<= /p>

+----------------+-------= -----+----------+

| g-sc-G12-1=C2=A0=C2=A0= =C2=A0=C2=A0 | g-sc-G12-1 | Deployed |

+----------------+-------= -----+----------+

=C2=A0

['g-sc-G12-1: applica= tionInstances 1, groupInstances 2, clusterInstances 3, members 0 ()\n']=

=C2=A0

=C2=A0

=C2=A0

From: Martin E= ppel (meppel)
Sent: Friday, June 05, 2015 10:04 AM
To: dev@= stratos.apache.org
Subject: RE: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
=

=C2=A0

Ok:<= /p>

=C2=A0

log4j.logger.org.apache.s= tratos.manager=3DDEBUG

log4j.logger.org.apache.s= tratos.autoscaler=3DDEBUG

log4j.logger.org.apache.s= tratos.messaging=3DINFO

log4j.logger.org.apache.s= tratos.cloud.controller=3DDEBUG

log4j.logger.org.wso2.and= es.client=3DERROR

# Autoscaler rule logs

log4j.logger.org.apache.s= tratos.autoscaler.rule.RuleLog=3DDEBUG

=C2=A0

From: Udara Li= yanage [mailto:udara@ws= o2.com]
Sent: Friday, June 05, 2015 10:00 AM
To: dev
Subject: Re: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
=

=C2=A0

Hi Martin,

=C2=A0

Better if you can enable debugs logs for all AS, CC = and cartridge agent=C2=A0

=C2=A0

On Fri, Jun 5, 2015 at 10:23 PM, Udara Liyanage <= udara@wso2.com> = wrote:

Hi,

=C2=A0

Please enable AS debug logs.

=C2=A0

On Fri, Jun 5, 2015 at 9:38 PM, Martin Eppel (meppel= ) <meppel@cisco.co= m> wrote:

Hi Udara,

=C2=A0

Yes, this issue seems to = be fairly well reproducible, which debug log do you want me to enable, cart= ridge agent logs ?

=C2=A0

Thanks

=C2=A0

Martin

=C2=A0

From: Udara Li= yanage [mailto:udara@ws= o2.com]
Sent: Thursday, June 04, 2015 11:11 PM
To: dev
Subject: Re: Testing Stratos 4.1: Application undeployment: applicat= ion fails to undeploy (nested grouping, group scaling)
=

=C2=A0

Hi,

=C2=A0

This might be possible if AS did not receive member = activated event published by CC. Is it possible to enable debug logs if thi= s is reproducible.

Or else I can add an INFO logs and commit.=

=C2=A0

=C2=A0

On Fri, Jun 5, 2015 at 9:11 AM, Udara Liyanage <<= a href=3D"mailto:udara@wso2.com" target=3D"_blank">udara@wso2.com> w= rote:

Hi,

=C2=A0

=C2=A0

For the first issue you have mentioned, the particul= ar member is activated, but it is still identified as an obsolete member an= d is being marked to be terminated since pending time expired. Does that mean member is still in Obsolete list even though it is= being activated?

=C2=A0

//member started

TID: [0] [STRATOS] [2015-06-04 19:53:04,706] =C2=A0I= NFO {org.apache.stratos.autoscaler.context.cluster.ClusterContext} - =C2=A0= Member stat context has been added: [application] g-sc-G12-1 [cluster] g-sc-G12-1.c1-0x0.c1.domain [clusterInstanceContext] g-sc-G12-1-= 1 [partitionContext] whole-region [member-id] g-sc-G12-1.c1-0x0.c1.domainb0= aa0188-49f1-47f6-a040-c2eab4acb5b1

=C2=A0

//member activated

TID: [0] [STRATOS] [2015-06-04 19:56:00,907] =C2=A0I= NFO {org.apache.stratos.cloud.controller.messaging.publisher.TopologyEventP= ublisher} - =C2=A0Publishing member activated event: [service-name] c1 [cluster-id] g-sc-G12-1.c1-0x0.c1.domain [cluster-instance-id] g-sc-G12= -1-1 [member-id] g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4a= cb5b1 [network-partition-id] RegionOne [partition-id] whole-region

TID: [0] [STRATOS] [2015-06-04 19:56:00,916] =C2=A0I= NFO {org.apache.stratos.messaging.message.processor.topology.MemberActivate= dMessageProcessor} - =C2=A0Member activated: [service] c1 [cluster] g-sc-G12-1.c1-0x0.c1.domain [member] g-sc-G12-1.c1-0x0.c1.domainb0aa0188-4= 9f1-47f6-a040-c2eab4acb5b1

=C2=A0

//after 15 minutes ---member is still in pending sta= te, pending timeout expired

TID: [0] [STRATOS] [2015-06-04 20:08:04,713] =C2=A0I= NFO {org.apache.stratos.autoscaler.context.partition.ClusterLevelPartitionC= ontext$PendingMemberWatcher} - =C2=A0Pending state of member expired, member will be moved to obsolete list. [pending member] g-sc-G12-= 1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c2eab4acb5b1 [expiry time] 900000= [cluster] g-sc-G12-1.c1-0x0.c1.domain [cluster instance] null

=C2=A0

On Fri, Jun 5, 2015 at 5:14 AM, Martin Eppel (meppel= ) <meppel@cisco.co= m> wrote:

Hi,

=C2=A0

I am running into a scenario where application un-de= ployment fails (using stratos with latest commit =C2=A0b1b6bca3f99b6127da24= c9af0a6b20faff2907be).

=C2=A0

For application structure see [1.], (debug enabled) = wso2carbon.log, application.json, cartridge-group.json, deployment-policy, = auto-scaling policies see attached zip file.

=C2=A0

It is noteworthy, that while the application is r= unning the following log statements /exceptions are observed:=

=C2=A0

=E2=80=A6

Member is in the wrong list and it is removed fro= m active members list: g-sc-G12-1.c1-0x0.c1.domainb0aa0188-49f1-47f6-a040-c= 2eab4acb5b1

=E2=80=A6

TID: [0] [STRATOS] [2015-06-04 20:11:03,425] ERRO= R {org.apache.stratos.autoscaler.rule.RuleTasksDelegator} -=C2=A0 Cannot te= rminate instance

=E2=80=A6

// after receiving the application undeploy event:

[2015-06-04 20:12:39,465]=C2=A0 INFO {org.apache.= stratos.autoscaler.services.impl.AutoscalerServiceImpl} -=C2=A0 Application= undeployment process started: [application-id] g-sc-G12-1

// a new instance is being started up

=E2=80=A6

[2015-06-04 20:13:13,445]=C2=A0 INFO {org.apache.= stratos.cloud.controller.services.impl.InstanceCreator} -=C2=A0 Instance st= arted successfully: [cartridge-type] c2 [cluster-id] g-sc-G12-1.c2-1x0.c2.d= omain [instance-id] RegionOne/5d4699f7-b00b-42eb-b565-b48fc8f20407=

=C2=A0

// Also noteworthy seems the following warning which is seen repeatedly in = the logs:

ReadWriteLock} -=C2=A0 System warning! Trying to = release a lock which has not been taken by the same thread: [lock-name]=

=C2=A0

=C2=A0

[1.] Application structure

=C2=A0

=C2=A0

=C2=A0

=C2=A0

=C2=A0

=
=
...

[Message clipped]=C2=A0=C2=A0
<= br>

--
Lasindu= Charith
Software Engineer, WSO2 Inc.
Mo= bile: +94714427192



--
Lasindu Charith
Software Engineer, WSO2 Inc.
Mobile: +94714427192
W= eb:=C2=A0blog.lasindu= .com
--001a1134a04c996034051854c6d8-- --001a1134a04c996039051854c6d9 Content-Type: image/png; name="image003.png" Content-Disposition: inline; filename="image003.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: b87783ded493b04_0.3 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 2tQVAQQQQAABBNwQID+5ocgxEEAAAQQQQMAmAfKTTa1NXRFAAAEEEEDADQHykxuKHAMBBBBAAAEE bBIgP9nU2tQ1FQXee++9U089tX///oMHDz7llFOWL1+eirWkTggggIC3BMhP3moPSoNAVALl5eVn n332BRdcUFpaWlJScumll954441vvPGGOUh7e/vEiRPDD7hkyZLJkycPGDDgpJNO2rBhQ+dzdd4l fJuen42q5GyMAAIIJLUA+Smpm4/C2y5w0003XXPNNZdddtnAgQOVii688MJf//rXylJymT9//gkn nLB+/fqQUVlZmTZYsGBBRUXFmWeeeckll0Twdd4lfIOen7W9Jag/AghYJkB+sqzBqW5CBfbu3asu osLCwgkTJjz22GM+ny+iOAsXLiwqKhoyZMh9992np6qqqs4999yCggJtv2jRos5lX7VqlTYI//nJ J5/84x//WD+ZOnXqvHnzwp/atGnTnDlzjj/++JycnIsvvjg8WpnNOu8SvnvPzybUlZMjgAAC8Rbw qc9/zJgx8T4t50PASoHLL7+8ra3t/vvv9/v9V1999YMPPtjR0REuoW6kZcuWZWVlXXnlla+99tpF F12kOHXbbbetXLnyrLPOUr+RngrfPjc3t7KyMi8vTz8MT2PNzc2ZmZnmhxGn0A81DDd37lyV4YEH HujcDl3uEtqs52etbFUqjQACNgrQ/2Rjq1PnRAk8//zzt99+u0JPdnb2LbfcomJofpISSSj6aFqS JjB9/PHHL7/8sp7Vv9dff316evo3v/nNjRs36puIXUaPHq2PQKY6ykl6vPXWWz3XbunSpccdd5zm m2s8LuLsETv2/GyiDDkvAggg4AUB8pMXWoEy2CKgjp9QVEpLS1O1161bZ3KPIVDAUs/Qc889d/rp p+s/tb16icxT6nxSr1LELrrg7vHHHw/n+9vf/tadps5yww03KLc99dRTd9xxh9JYxNkjduz5WVva jHoigAACXQmQn3hdIBA/gdmzZ6t7qbGxsamp6eabb+584sP3P/TU+++/r2dnzZp19913K0Vp/G7G jBka+4vYRUdTftJkqerqag3kaUDwkUceCUWuiI3ffvvtxYsXv/DCC8XFxXX7H/GrOWdCAAEEUkuA /JRa7UltvC1w7733KjmNHDly+vTpujhOg2gR5b3uuus0v1tzwBWb9JRmSq1evXro0KG6bu7RRx/t 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 --001a1134a04c996039051854c6d9 Content-Type: image/png; name="image002.png" Content-Disposition: inline; filename="image002.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: b87783ded493b04_0.2 iVBORw0KGgoAAAANSUhEUgAAA08AAAIOCAIAAADvL6EwAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAS dAAAEnQB3mYfeAAAVoJJREFUeF7t3QmcVNWB73Gruul9A7qh2SSRCAyKqJBExXFlNDHoaHQMPuPu S1wYfVGjxmhenhO3qC8uYyYGdTQmjtG4oJ8xPAlKBPclsgiigtgNNEt3A00v9P7+zYGba1V3Ube7 btU9Vb+b/pCy+txzz/meWv597hbq7u7ehwUBBBBAAAEEEEDABoHj73rXazNDpD2vZJRHAAEEEEAA AQRSJaC0t+Car3vaethTaQojgAACCCCAAAII2CVA2rNrvGgtAggggAACCCDgTYC0582L0ggggAAC CCCAgF0CpD27xovWIoAAAggggAAC3gRIe968KI0AAggggAACCNglwDm5do0XrUUAAQQQQACBjBaI Pid3RU3jxzVNMS6pR9rL6FcMnUcAAQQQQAABuwSi097Me99vae+K0Qv25No1xLQWAQQQQAABBBD4 koCi3r8eP/Z3Fx/kfvah8w/UZfn+/L+m6knSHq8YBBBAAAEEEEAg3QRysnsynvmXtJduo0t/EEAA AQQQQAABtwBpj9cDAggggAACCCCQbgJtHT1H8pl/SXvpNrr0BwEEEEAAAQQyUCBvUDjk6vbFjy7X +Rzfvud9Pcc5uRn4eqDLCCCAAAIIIGCrQPQ5uXpGZ2mcesiw99ZuX7e1NaJjBTlh0p6tg027EUAA AQQQQCADBWKkvb402JObga8TuowAAggggAACGSRA2sugwaarCCCAAAIIIJDGAm+v2f7M+5uif9iT m8aDTtcQQAABBBBAIN0E+tqT+4/7Dz7zNx/22lvSXrq9COgPAggggAACCKSxQF9p7+tfLT33oaW3 nz5eDyK6z57cNH490DUEEEAAAQQQQIDr7fEaQAABBBBAAAEE0lqAub20Hl46hwACCCCAAAIZINDV 3d3V1a2O6p/Oru6IH47by4CXAF1EAAEEEEAAgXQRiD5u7+T7Pmhu64zRP9Jeugw+/UAAAQQQQACB DBCITnurNjZ9uqm5e5+eub1eF9JeBrwu6CICCCCAAAIIpItAdNrba884bm+vRBRAAAEEEEAAAQQs FiDtWTx4NB0BBBBAAAEEENirAGlvr0QUQAABBBBAAAEELBYg7Vk8eDQdAQQQQAABBBDYqwBpb69E FEAAAQQQQAABBCwW4JxciwePpiOAAAIIIIBApgnonFyvXSbteRWjPAIIIIAAAgggYJMAe3JtGi3a igACCCCAAAIIeBUg7XkVozwCCCCAAAIIIGCTAGnPptGirQgggAACCCCAgFcB0p5XMcojgAACCCCA AAI2CZD2bBot2ooAAggggAACCHgVIO15FaM8AggggAACCCBgkwBpz6bRoq0IIIAAAggggIBXAdKe VzHKI4AAAggggAACNgmQ9mwaLdqKAAIIIIAAAgh4FSDteRWjPAIIIIAAAgggYJMAac+m0aKtCCDg k8B77713/PHHl5aWDh069Nhjj33ppZd82hDVIoAAAskXIO0l35wtIoBAsASqq6tPO+20s846a+3a tatXr77ooovOOeecZ555xrSys7Nz4sSJ7hbPnTv3wAMPLCsrO+qooz755BPzq3nz5k2aNElP6t+X X345uoczZszod7eXL19eWFjY79VZEQEEMlwg1N3dneEEdB8BBDJc4Nxzzz344IOvuuoqx+GFF15Q wLrhhhvuvffeJ5544p133nE+Kquqqg444ADlOa3ywAMPPPfcc6+//npXV1dFRcVTTz2lecFnn332 yiuvXL9+fYRqKNTPz9vt27dr3vH999/n4zrDX6h0H4F+CzC31286VkQAgQEJPPLIIyNGjCgvL7/v vvuiK1I2evLJJ6dMmaJdq/fcc09EgYaGBs3AVVZWTpgw4bHHHlNhU0APHn/8cT0fUT72thTmzjjj DPcqp5xyiqKenjnooINuuukm96/WrFkza9asww8/PD8//7zzzlu1apV+29HRoe0ed9xxTU1Nubm5 muGLaMCpp56qZxQQI55XrNSTKi+Ku+66K9pBCe/888+//vrrB2TNygggkOEC+ihhQQABBJIvoIiz dOlSpSXt4ozeuj6Z77jjDs2ZLViwQLkqosAPfvCDCy+8UNGqpaVFj1XYFNCDyy+/XNNyEeVjb0v1 NzY2OjU4XwpOJU797mqV8C655JLLLrvMeXLHjh0mcWq2r9ceRT+pNHnnnXeqqg8++CAnJye6wG23 3Xb11VebriV/jNgiAgikhwAfH+kxjvQCAfsENH82c+ZM7f1sb29X6zVLZ2KWk7o0gec8jigwbNiw TZs2md9u3LjRvdbmzZuja4u9LR2Wt2TJErfg1q1b3ekqOmnNnz//kEMOue6660zjnUWp8ZZbbpk2 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 gAACCARAgLQXgEGgCQgggAACCCCAgG8CpD3faKkYAQQQQAABBBAIgABpLwCDQBMQQAABBBBAAAHf BEh7vtFSMQIIIIAAAgggEAAB0l4ABoEmIIAAAggggAACvgmQ9nyjpWIEEEAAAQQQQCAAAqS9AAwC TUAAAQQQQAABBHwTIO35RkvFCCCAAAIIIIBAAARIewEYBJqAAAIIIIAAAgj4JkDa842WihFAAAEE EEAAgQAIkPYCMAg0AQEEEEAAAQQQ8E2AtOcbLRUjgEBQBd57773jjz++tLR06NChxx577EsvvRTU ltIuBBBAIAECpL0EIFIFAghYJFBdXX3aaaedddZZa9euXb169UUXXXTOOec888wzpgtdXV2nn366 uztz58498MADy8rKjjrqqE8++cT8at68eZMmTdKT+vfll1+O7v6MGTP6bbJ8+fLCwsK+Vu/s7Jw4 cWK/K2dFBBDIQIFQd3d3BnabLiOAQMYKnHvuuQcffPBVV13lCLzwwgsKWDfccMO999770EMP6XFr a2tOTo4KVFVVHXDAAcpzWuWBBx547rnnXn/9dSXCioqKp556SvOCzz777JVXXrl+/foIz1Con5+u 27dv17zj+++/3+uHs1r4xBNPvPPOO3x0Z+wLmI4j0A8B5vb6gcYqCCDgWeCRRx4ZMWJEeXn5fffd F72ystGTTz45ZcoU7Vq95557Igo0NDRoBq6ysnLChAmPPfaYCpsCevD444/r+YjysbelqHTGGWe4 VznllFMU9fTMQQcd9MMf/tD9qzVr1syaNevwww/Pz88/77zzVq1apd92dHRou8cdd1xTU1Nubq5m +CIacOqpp+oZBcSI5xUr9aTKi+Kuu+6KdlCGO//886+//vq+fNXCm266ybM+KyCAQIYL6MOFBQEE EPBbQBFn6dKlSkvaxRm9LX0O33HHHZozW7BggXJVRIEf/OAHF154oaJVS0uLHquwKaAHl19+uabi IsrH3pbqb2xsdGpwvgLMM2qkntHcXkSdSniXXHLJZZdd5jy/Y8cOkzg129drj6KfVFa78847VdUH H3ygucPoArfddtvVV19tuhZjRGL/1u+hpH4EELBOINYHinWdocEIIBBYAc2fzZw5U3s/29vb1UjN 0pmY5aQuTeA5jyMKDBs2bNOmTea3GzdudK+1efPm6Npib0sHvS1ZssQNtXXrVqfOXtPe/PnzDznk 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 RU5ErkJggg== --001a1134a04c996039051854c6d9 Content-Type: image/png; name="image001.png" Content-Disposition: inline; filename="image001.png" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: b87783ded493b04_0.1 iVBORw0KGgoAAAANSUhEUgAAAv0AAAG9CAIAAAAJFF6yAAAAAXNSR0IArs4c6QAAAAlwSFlzAAAS dAAAEnQB3mYfeAAASVZJREFUeF7t3Q2cFdWB533v7W76nW6abmgahBEiMAQkgElAHXfWMOzGoI7R MeRRYxhnH8fI6GdmEt24q5t1jJvEdT+jrjtZUR8dNzPxbRT9TMIjMUFE0RCjQhAhgkgDzUvTtE2/ 0O/7bw6Uxb19bxddt++tU/Wr9KdzbU5VnfM9dW//+9Spqlh/f/8ZLAgggAACCCCAQAQE4hFoI01E AAEEEEAAAQQGBMg9HAcIIIAAAgggEBUBck9Uepp2IoAAAggggAC5h2MAAQQQQAABBKIiQO6JSk/T TgQQQAABBBAg93AMIIAAAggggEBUBMg9Uelp2okAAggggAAC5B6OAQQQQAABBBCIigC5Jyo9TTsR QAABBBBAgNzDMYAAAggggAACUREg90Slp2knAggggAACCJB7OAYQQAABBBBAICoC5J6o9DTtRAAB BBBAAAFyD8cAAggggAACCERFgNwTlZ6mnQgggAACCCBA7uEYQAABBBBAAIGoCJB7otLTtBMBBBBA AAEEyD0cAwgggAACCCAQFQFyT1R6mnYigAACCCCAALmHYwABBBBAAAEEoiJA7olKT9NOBBBAAAEE ECD3cAwggAACCCCAQFQEyD1R6WnaiQACCCCAAALkHo4BBBBAAAEEEIiKALknKj1NOxFAAAEEEECA 3MMxgAACCCCAAAJRESD3RKWnaScCCCCAAAIIkHs4BhBAAAEEEEAgKgLknqj0NO1EAAEEEEAAAXIP xwACCCCAAAIIREWA3BOVnqadCCCAAAIIIEDu4RhAAAEEEEAAgagIkHui0tO0EwEEEEAAAQTIPRwD CCCAAAIIIBAVAXJPVHqadiKAAAIIIIAAuYdjAAEEEEAAAQSiIkDuiUpP004EEEAAAQQQIPdwDCCA AAIIIIBAVATIPVHpadqJAAIIIIAAAuQejgEEEEAAAQQQiIoAuScqPU07EUAAAQQQQIDcwzGAAAIB Fejt7Z05c6b3yq1atWr27NmVlZUXXnjh9u3bvay4evXqWbNmaRV9f/nll72sQhkEELBagNxjdfdR eQRCK3D//fefd95527Zt89jC3bt3X3PNNStXrmxoaLj00kuXL18+5Ip9fX1XX331gw8+2NTUdNdd d3lZZchtUgABBAIuQO4JeAdRPQTsEHjssccmTJhQXV39wAMPJNS4paXl+uuvr62tnTFjxhNPPBGL xRIKNDY2XnnllTU1NSrw3HPPmX8955xz7rjjjlSNT15l586dy5YtW7RoUXFx8XXXXZccmJJX6enp efLJJy+66KK2trbCwkKN+iTvLk277OgYaokAAqcKxPr7+zFBAAEEfAqMGTNm3bp1Sg833XTTmjVr 3Fu74YYblDA0rBKPx2+55ZaHH3444WPn2muvVWa65557NmzYcNlll2nARtsxW1BIGvQzKs0qOju2 YsUK7euhhx5yVyPVKq2treXl5drR+vXrNcKU4JCmXT7FWB0BBHIiQO7JCTs7RSBsAsorOm30jW98 4/LLL8/Pz9e8HDPiotQyfvz4zZs3jxs3Tv954MABDfzoh+4CGiVS4bFjx6qATjlVVFTk5eUl5x4v q/ziF7+49dZblyxZcvfddydUI81eNN6j02rPP//8xo0b3XtRHRLaFbZuoz0IRE+A3BO9PqfFCIyA gKKM5gU//vjjOp2UMN6jwLF161adxtJu9a96kTCEozEVnaXSdxXYsmXLWWedVVJSkn68J3kVnd66 /fbbX3/99UceeWT69OnJTUxe5eDBgxoTuvfee00gmzZtmsZ+ElZM064RUGSTCCAw4gLM7xlxYnaA QBQEFFa03HnnnW+//XZCe5cuXapE0tHRcezYMRVI1li8eLHCh85P6TzXwoULdVJsSLHkVd544w0N 2Lz44ot1dXWKL8kJJnkVlXz00UdfffVVhZunnnpq3rx5yftN064hK0kBBBAIooDe8CwIIICATwEN nFRVVelkloZbEjalU1e60kqnsXStuOYR6zRWQgFN6FE20upTp0599tln3f+qD81BK5a8ik5sJQ/V uNcddC9r166dP3++hoI0IVqDUsn7StMun2KsjgACORHgPFcQwyh1QiBMAhqDmTt37pQpU9QozeO5 5JJLUt1cRzOERqjhmuY8QltmswggYJcAnwV29Re1RcA+AV0npQusNJlm7969t912my5ZT9UGpZMR WuxTo8YIIDAyAoz3jIwrW0UAgZMCmmpz4403vvTSS5p6rDsK3nfffWVlZal4duz6eNeePV7wykpL FsyZo4u2vBTWcHryfYO8rEgZBBAImQC5J2QdSnMQsFvglfXrX3vr117aML6mZvnXrio6eaef9KuQ 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 27ZtHjl27959zTXXrFy5sqGhQZnjjjvuGHLFvr6+q6+++sEHH2xqarrrrruWL18+5CpDFvjhD384 ZcoU1WHy5Mk/+tGPhixPAQQQCJoAuSdoPUJ9EAiiwGOPPTZhwoTq6uoHHnggoX4tLS3XX399bW3t jBkznnjiiVgsllCgsbHxyiuvrKmpUYHnnnvO/Os555yTJrskr7Jz585ly5YtWrSouLj4uuuu27Vr 15B76enpefLJJy+66KK2trbCwkKN+iTLpmnXU089df7552tQqrm5+eyzz968ebNWf/7551esWKGt 6fu//Mu/6CeDFgtiF1InBBA4LhDr7++HAgEEEEgvMGbMmHXr1un3/U033bRmzRp34RtuuEEJQ8Mq 8Xj8lltuefjhhxM+Va699lplpnvuuWfDhg2XXXaZBku0HbMFhaRBP4LSrKIgosyhc0zf+c535syZ M2rUKLOpVKu0traWl5drR+vXr9cIU0Iz07TLbFO72LJly4IFC26++Wb9pKys7NChQ8peHR0d48eP V+YbtBiHEwIIBFdAHzosCCCAQHoBnVpaunTp008/3d3drZIauTEfano9bty4AwcOmNX3799vfugu MHbsWI3fmAKHDx9WSHL2ZQqbxcsqilzz5s277bbb3nnnnd/85jfTp093qpFmL4o+3//+988999yE veg/07RL/6qRnmnTpi1ZskSnzEwlS0pKlHj0QmNIem1+mFwsPSb/igACORTgPFdwIyk1QyA4Ai+8 8II5s/PlL39Ztfrggw/Mx5ZeawDGObeVl5dn6pxQQENB5uca7Ons7By0XelX0b6++93vaprOT3/6 0x/84AdmRzr35K5Gwl50LkxjQipWWlqqM3Fbt25NqJj+M0279K8KN2rdvn37nDrX1dXV19frn/bu 3Ttx4kTTkORiwek4aoIAAgkC5B4OCQQQGFrgrOPLnXfe+fbbbyeU1jjQ7bffrlGQY8eOqUDythYv XnzvvfcqQOg818KFCzXeM+T+kld54403NLfmxRdfVPLQ+E17e3vCRpJXUclHH3301VdfVTbSLBwN FCXvN027NMajiUSayHzBBRc47dLFXJoSpA3qu87ZaYODFhuygRRAAIGcCeRwrIldI4CALQIPPfSQ Lt7WKa1HHnkkoc66WkpXWuk0k64V1zziioqKhAIa41E20upTp0599tln3f+qD75BBZJXufvuuxM+ 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 AAIIIIAAAmEQIPeEoRdpAwIIIIAAAgh4ESD3eFGiDAIIIIAAAgiEQYDcE4ZepA0IIIAAAggg4EWA 3ONFiTIIIIAAAgggEAYBck8YepE2IIAAAggggIAXAXKPFyXKIIAAAggggEAYBMg9YehF2oAAAggg gAACXgTIPV6UKIMAAggggAACYRAg94ShF2kDAggggAACCHgRIPd4UaIMAggggAACCIRBgNwThl6k DQgggAACCCDgRYDc40WJMggggAACCCAQBgFyTxh6kTYggAACCCCAgBcBco8XJcoggAACCCCAQBgE yD1h6EXagAACCCCAAAJeBMg9XpQogwACCCCAAAJhECD3hKEXaQMCCCCAAAIIeBEg93hRogwCCCCA AAIIhEGA3BOGXqQNCCCAAAIIIOBFgNzjRYkyCCCAAAIIIBAGAXJPGHqRNiCAAAIIIICAFwFyjxcl yiCAAAIIIIBAGATIPWHoRdqAAAIIIIAAAl4EyD1elCiDAAIIIIAAAmEQIPeEoRdpAwIIIIAAAgh4 ESD3eFGiDAIIIIAAAgiEQYDcE4ZepA0IIIAAAggg4EWA3ONFiTIIIIAAAgggEAYBck8YepE2IIAA AggggIAXAXKPFyXKIIAAAggggEAYBMg9YehF2oAAAggggAACXgTIPV6UKIMAAggggAACYRAg94Sh F2kDAggggAACCHgRIPd4UaIMAggggAACCIRBgNwThl6kDQgggAACCCDgRYDc40WJMggggAACCCAQ BgFyTxh6kTYggAACCCCAgBcBco8XJcoggAACCCCAQBgE/i/TZY56yIoO+wAAAABJRU5ErkJggg== --001a1134a04c996039051854c6d9--