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



Reply via email to