Gert Vanthienen (JIRA <jira@...> writes: > > > [ > https://issues.apache.org/jira/browse/SMXCOMP-903? page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] > > Gert Vanthienen resolved SMXCOMP-903. > ------------------------------------- > > Resolution: Fixed > > Fixed an issue in AsyncBaseLifeCycle's prepareShutdown method (cfr. > http://svn.apache.org/viewvc?view=revision&revision=1170661) and afterwards reused that logic > to ensure all pending exchanges are done before unregistering the subscription endpoint (cfr. http://svn.apache.org/viewvc? view=revision&revision=1170662) > > > Sending unsubscribe can leave servicemix-wsn2005 threads hanging on sendSync () > > ---------------------------------------------------------------------------- -- > > > > Key: SMXCOMP-903 > > URL: https://issues.apache.org/jira/browse/SMXCOMP-903 > > Project: ServiceMix Components > > Issue Type: Bug > > Components: servicemix-wsn2005 > > Affects Versions: 2011.01 > > Reporter: Gert Vanthienen > > Assignee: Gert Vanthienen > > Fix For: 2011.02 > > > > > > When unsubscribing from a servicemix-wsn2005 subscription, you may end up with threads blocked on the > WSNEndpoint.process method's call to sendSync. This happens if the subscription endpoint gets > unregistered before the actual unsubscribe message exchange has been handled properly. In ServiceMix > 4, the exception will look like this: > > {noformat} > > org.apache.servicemix.nmr.core.ChannelClosedException > > at org.apache.servicemix.nmr.core.ChannelImpl.deliver (ChannelImpl.java:192)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-00-00] > > at org.apache.servicemix.nmr.core.StraightThroughFlow.dispatch (StraightThroughFlow.java:55)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-00- 00] > > at org.apache.servicemix.nmr.core.FlowRegistryImpl.internalDispatch (FlowRegistryImpl.java:134)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-00-00] > > at org.apache.servicemix.nmr.core.FlowRegistryImpl.dispatch (FlowRegistryImpl.java:117)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-00-00] > > at org.apache.servicemix.nmr.core.ChannelImpl.dispatch (ChannelImpl.java:286)[81:org.apache.servicemix.nmr.core:1.4.0.fuse-00-00] > > at org.apache.servicemix.nmr.core.ChannelImpl.send(ChannelImpl.java:117) [81:org.apache.servicemix.nmr.core:1.4.0.fuse-00-00] > > at org.apache.servicemix.jbi.runtime.impl.DeliveryChannelImpl.send (DeliveryChannelImpl.java:178)[91:org.apache.servicemix.jbi.runtime:1.4.0.fuse- 00-00] > > at org.apache.servicemix.common.EndpointDeliveryChannel.send (EndpointDeliveryChannel.java:89)[90:servicemix-common:2011.01.0.fuse-00-00] > > at org.apache.servicemix.common.endpoints.SimpleEndpoint.send (SimpleEndpoint.java:70)[90:servicemix-common:2011.01.0.fuse-00-00] > > at org.apache.servicemix.common.endpoints.SimpleEndpoint.done (SimpleEndpoint.java:85)[90:servicemix-common:2011.01.0.fuse-00-00] > > at org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process (HttpConsumerEndpoint.java:343)[157:servicemix-http:2011.01.0.fuse-00-00] > > at org.apache.servicemix.http.HttpBridgeServlet.service (HttpBridgeServlet.java:56)[157:servicemix-http:2011.01.0.fuse-00-00] > > at javax.servlet.http.HttpServlet.service(HttpServlet.java:668) [136:org.apache.geronimo.specs.geronimo-servlet_3.0_spec:1.0] > > at org.mortbay.jetty.servlet.ServletHolder.handle (ServletHolder.java:511)[100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.servlet.ServletHandler.handle (ServletHandler.java:401)[100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.handler.ContextHandler.handle (ContextHandler.java:766)[100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.handler.ContextHandlerCollection.handle (ContextHandlerCollection.java:230) [100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.handler.HandlerCollection.handle (HandlerCollection.java:114)[100:org.apache.servicemix.bundles.jetty:6.1.26.1- fuse] > > at org.mortbay.jetty.handler.HandlerWrapper.handle (HandlerWrapper.java:152)[100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.Server.handle(Server.java:326) [100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.HttpConnection.handleRequest (HttpConnection.java:542)[100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:398) [100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.io.nio.SelectChannelEndPoint.run (SelectChannelEndPoint.java:410) [100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run (SelectChannelConnector.java:525) [100:org.apache.servicemix.bundles.jetty:6.1.26.1-fuse] > > at org.mortbay.thread.QueuedThreadPool$PoolThread.run (QueuedThreadPool.java:582)[100:org.apache.servicemix.bundles.jetty:6.1.26.1- fuse] > > {noformat} > > -- > This message is automatically generated by JIRA. > For more information on JIRA, see: http://www.atlassian.com/software/jira > >
Hi, We are facing same issue with servicemix 4.3.0 while trying to unsubscribe. To our client applications only /Broker/ and /CreatePullPoint/ endpoints are available as external endpoints. We tried sending Unsubscribe request to both of these end points giving subscriptionId in soap body header but we are getting failure and servicemix logs contain same exceptions as given in below mail. Can you pls help us resolve this issue? Do we need to upgrade to servicemix? In which servicemix release this issue is fixed? Regards, Bhavana
