[ 
https://issues.apache.org/activemq/browse/SM-1179?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Guillaume Nodet resolved SM-1179.
---------------------------------

         Assignee: Guillaume Nodet
    Fix Version/s: 3.3
       Resolution: Fixed

Actually, I don't think the patch fixes the problems.
The IllegalStateException(Exhcange not found) is caused when the timeout 
specified for the continuation elapsed and the exchange has not yet been 
received.
In such a case, the HTTP client will receive a 500 http status with an 
Exception(Timeout) in the response.
When the exchange comes back, the process(MessageExchange) method will throw 
the IllegalStateException which will be set as an ERROR on the exchange and the 
exchange sent back.

I think most of the problems have been fixed by allowing the timeout to be 
configured on a per endpoint level.
Anyway, I've slightly enhanced the code (there was a missing synchronized 
block) so hopefully this issue is over now.
If you have any other problems, please reopen this issue or create a new one.

Sending        
src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java
Sending        
src/main/java/org/apache/servicemix/http/processors/ConsumerProcessor.java
Sending        
src/test/java/org/apache/servicemix/http/ConsumerEndpointTest.java
Transmitting file data ...
Committed revision 690200.



> Exchange not found - Servicemix is totally blocked
> --------------------------------------------------
>
>                 Key: SM-1179
>                 URL: https://issues.apache.org/activemq/browse/SM-1179
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-http
>    Affects Versions: 3.1.1
>         Environment: RedHat
>            Reporter: Noseda Anne
>            Assignee: Guillaume Nodet
>            Priority: Critical
>             Fix For: 3.3
>
>         Attachments: ConsumerProcessor.java, ConsumerProcessor_sm1179.patch, 
> smlog.log
>
>
> 11:49:06,069 | WARN  | btpool1-4  | jetty                    | 
> ervicemix.http.jetty.JCLLogger   96 | /janus/
> java.lang.IllegalStateException: Exchange not found
>         at 
> org.apache.servicemix.http.processors.ConsumerProcessor.process(ConsumerProcessor.java:186)
>         at 
> org.apache.servicemix.http.HttpBridgeServlet.doPost(HttpBridgeServlet.java:71)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
>         at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
>         at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
>         at 
> org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:712)
>         at 
> org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:211)
>         at 
> org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
>         at 
> org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:139)
>         at org.mortbay.jetty.Server.handle(Server.java:313)
>         at 
> org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:506)
>         at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:375)
>         at 
> org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:396)
>         at 
> org.mortbay.jetty.nio.SelectChannelConnector$RetryContinuation.run(SelectChannelConnector.java:511)
>         at 
> org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:442)
>  

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to