May be for proxy service undeployment, synapse can lock on axis2 config instead of synapse config, which will avoid deadlocking.
On Fri, Nov 15, 2013 at 10:22 AM, Miyuru Wanninayaka <miy...@wso2.com>wrote: > I have observed this few times even without patch0002. > > When analyzed deadloak flow it seems > hot deployment of main, fault sequences and deleting ESB artifacts from > admin services triggers in parallel. > > in hot deployment, axis2 thread first get a lock of axis2 configuration > and then calls synapse deployer.undeploy which will lock on synapse > configuration. > during admin service call, it will directly call synapse to undeploy > artifacts which will first lock on synapse config and in case of proxy, it > will cause related axis2 service to undeploy and try to acquire lock of > axis2 config which will become a deadlock. > > I have modified abstract ESBIntegrationTest.cleanup() method to wait few > seconds to let main and fault sequence to hot update. Seems deadlock does > not happens after that. > > > On Thu, Nov 14, 2013 at 10:17 PM, Miyuru Wanninayaka <miy...@wso2.com>wrote: > >> Seems patch0002 causing deadlock. Once patch0002 removed from pack, tests >> are running without any issue. >> >> >> On Thu, Nov 14, 2013 at 9:31 PM, Krishantha Samaraweera < >> krishan...@wso2.com> wrote: >> >>> Integration tests hang at the early stage and following dead lock >>> situation detected in ESB Alpha pack. >>> >>> Name: http-nio-9443-exec-19 >>> State: BLOCKED on org.apache.axis2.engine.AxisConfiguration@510b02daowned >>> by: pool-15-thread-1 >>> Total blocked: 2 Total waited: 29 >>> >>> Stack trace: >>> >>> >>> org.apache.axis2.engine.AxisConfiguration.removeService(AxisConfiguration.java:692) >>> >>> org.apache.synapse.config.SynapseConfiguration.removeProxyService(SynapseConfiguration.java:1037) >>> - locked org.apache.synapse.config.SynapseConfiguration@73e64d34 >>> >>> org.wso2.carbon.proxyadmin.service.ProxyServiceAdmin.deleteProxyService(ProxyServiceAdmin.java:398) >>> sun.reflect.GeneratedMethodAccessor97.invoke(Unknown Source) >>> >>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) >>> java.lang.reflect.Method.invoke(Method.java:597) >>> >>> org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) >>> >>> org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) >>> >>> org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) >>> >>> org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) >>> org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) >>> >>> org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:172) >>> org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:146) >>> org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java: >>> >>> >>> --------------------- >>> >>> Name: pool-15-thread-1 >>> State: BLOCKED on >>> org.apache.synapse.config.SynapseConfiguration@73e64d34owned by: >>> http-nio-9443-exec-19 >>> Total blocked: 1 Total waited: 17 >>> >>> Stack trace: >>> >>> >>> org.apache.synapse.config.SynapseConfiguration.getDefinedSequences(SynapseConfiguration.java:289) >>> >>> org.apache.synapse.deployers.SequenceDeployer.updateSynapseArtifact(SequenceDeployer.java:120) >>> >>> org.wso2.carbon.sequences.SequenceDeploymentInterceptor.updateSynapseArtifact(SequenceDeploymentInterceptor.java:49) >>> >>> org.apache.synapse.deployers.AbstractSynapseArtifactDeployer.resetDefaultSequence(AbstractSynapseArtifactDeployer.java:584) >>> >>> org.apache.synapse.deployers.SequenceDeployer.updatingFaultAndMainWithOriginal(SequenceDeployer.java:181) >>> >>> org.apache.synapse.deployers.SequenceDeployer.undeploy(SequenceDeployer.java:150) >>> >>> org.apache.axis2.deployment.DeploymentEngine.unDeploy(DeploymentEngine.java:909) >>> - locked org.wso2.carbon.core.CarbonAxisConfigurator@5497eb53 >>> >>> org.apache.axis2.deployment.repository.util.WSInfoList.update(WSInfoList.java:143) >>> - locked org.wso2.carbon.core.CarbonAxisConfigurator@5497eb53 >>> >>> org.apache.axis2.deployment.RepositoryListener.update(RepositoryListener.java:377) >>> >>> org.apache.axis2.deployment.RepositoryListener.checkServices(RepositoryListener.java:254) >>> >>> org.apache.axis2.deployment.RepositoryListener.startListener(RepositoryListener.java:371) >>> >>> -- >>> Krishantha Samaraweera >>> Senior Technical Lead - Test Automation >>> Mobile: +94 77 7759918 >>> WSO2, Inc.; http://wso2.com/ >>> lean . enterprise . middlewear. >>> >> >> >> >> -- >> Miyuru Wanninayaka >> Technical Lead >> WSO2 Inc. : http://wso2.com >> >> Mobile : +94 77 209 9788 >> Blog : http://miyurudw.blogspot.com >> Flickr : http://www.flickr.com/photos/miyuru_daminda >> > > > > -- > Miyuru Wanninayaka > Technical Lead > WSO2 Inc. : http://wso2.com > > Mobile : +94 77 209 9788 > Blog : http://miyurudw.blogspot.com > Flickr : http://www.flickr.com/photos/miyuru_daminda > -- Miyuru Wanninayaka Technical Lead WSO2 Inc. : http://wso2.com Mobile : +94 77 209 9788 Blog : http://miyurudw.blogspot.com Flickr : http://www.flickr.com/photos/miyuru_daminda
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev