BTW - here is the stack trace for the other error I mentioned that seems to
occur a lot with the other exception I mentioned below:

java.lang.IllegalStateException: component is not owner when trying to set
error: java.lang.IllegalStateException: component is not owner
    at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setError(MessageExchangeImpl.java:264)
    at
org.apache.servicemix.common.endpoints.SimpleEndpoint.fail(SimpleEndpoint.java:93)
    at
org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process(HttpConsumerEndpoint.java:395)
    at
org.apache.servicemix.http.HttpBridgeServlet.service(HttpBridgeServlet.java:56)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
    at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:502)
    at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:363)
    at
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
    at
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
    at
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
    at
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
    at org.mortbay.jetty.Server.handle(Server.java:324)
    at
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
    at
org.mortbay.jetty.HttpConnection$RequestHandler.headerComplete(HttpConnection.java:864)
    at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:533)
    at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:207)
    at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
    at
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
    at
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)
Caused by: java.lang.IllegalStateException: component is not owner
    at
org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setStatus(MessageExchangeImpl.java:251)
    at
org.apache.servicemix.common.endpoints.SimpleEndpoint.done(SimpleEndpoint.java:84)
    at
org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process(HttpConsumerEndpoint.java:393)
    ... 16 more


On Mon, Feb 1, 2010 at 8:49 PM, Ryan Moquin <[email protected]> wrote:

> Hi, I've been hitting an issue with the servicemix-http component.  Certain
> machines that we run a servicemix-http consumer endpoint on, seem to always
> have a problem with connection timeouts when a response is returned from the
> target SE.  The server is only being hit by a single user.  First off, here
> is the exception:
>
> *java.lang.Exception: HTTP request has timed out for exchange:
> ID:10.25.276.145-1267c593b09-8:22*
>
> *      at
> org.apache.servicemix.http.endpoints.HttpConsumerEndpoint.process(HttpConsumerEndpoint.java:242)
> *
>
> *      at
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
> *
>
> *      at
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:598)
> *
>
> *      at
> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
> *
>
> *      at
> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
> *
>
> *      at
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:623)
> *
>
> *      at
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
> *
>
> *      at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:168)
> *
>
> *      at
> org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
> *
>
> *      at
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
> *
>
> *      at
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
> *
>
> *      at java.lang.Thread.run(Thread.java:619)*
>
> This exception is sometimes proceeded by a "Current Thread is not owner"
> exception in the servicemix-http.  There is no exception in our application
> that is causing this.  Sometimes when you refresh, the request and response
> will happen correctly, but then the next time you refresh is will start
> giving timeouts again.  This problem seem to occur with all of the 2009
> versions.  When I looked in the source code, it looks like the timeout
> happens when Servicemix attempts to resume the continuation in Jetty, but
> for some reason the resume() method returns false most of the time (I think
> false is the value when it can't resume it).  I can't seem to understand why
> this happens.  Does it sound like a bug?  I saw a post to the Jetty guys
> that Guillaume wrote saying that there were problems if a request-response
> happened too fast when a continuation was resumed before jetty had a chance
> to suspend it (if I remember correctly).  He wrote that a long time ago, but
> it almost sounds like that could be the cause here.  When it happens, the
> request/response is instant.  When it doesn't happen, the request-response
> cycle does seem slightly slower.
>
> This problem does seem to occur more often on certain machines than it does
> from other machines from my observation.  Anyone have any suggestions?
>
> Thanks!
> Ryan
>
>
>

Reply via email to