[ 
https://issues.apache.org/activemq/browse/SM-1407?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=45618#action_45618
 ] 

Guillaume Nodet commented on SM-1407:
-------------------------------------

In case of a timeout, the component should send back an error to indicate that 
there was a problem, else the answer will be completely lost. In the current 
code, the fact that the HTTP request has timed out before the exchange comes 
back result in the continuation object being removed from the locks map. When 
the exchange comes back later, an exception is thrown in the 
process(MessageExchange) method which will result in an ERROR status being sent 
by the component for this exchange.
This critical method either send an exception (which will result in an error on 
the exchange) or call cont.resume() which will trigger a new call to 
process(HttpServletRequest request, HttpServletResponse response) or unblock 
the call to cont.suspend(timeout) depending if the jetty connector is an NIO 
connector or a BIO connector.

Btw, I've written lots of comments in the HttpConsumerEndpoint 
(https://svn.apache.org/repos/asf/servicemix/components/bindings/servicemix-http/trunk/src/main/java/org/apache/servicemix/http/endpoints/HttpConsumerEndpoint.java)
 which uses the exact same logic and done some testing using the 
ConsumerEndpointTest#testHttpInOutUnderLoad() and it seems to work fine.

Could you set up a test case to illustrate the problem or provide more 
informations ?

> Memory Leak in http consumer processor when a timeout occurs
> ------------------------------------------------------------
>
>                 Key: SM-1407
>                 URL: https://issues.apache.org/activemq/browse/SM-1407
>             Project: ServiceMix
>          Issue Type: Bug
>          Components: servicemix-http
>            Reporter: Guillaume Nodet
>            Assignee: Guillaume Nodet
>             Fix For: 3.2.2, 3.3
>
>         Attachments: ConsumerProcessor.java
>
>


-- 
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