You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@synapse.apache.org by "Asankha C. Perera (JIRA)" <ji...@apache.org> on 2008/10/29 07:10:44 UTC

[jira] Resolved: (SYNAPSE-344) Race condition on connection reuse causes 'Request already submitted' exception

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

Asankha C. Perera resolved SYNAPSE-344.
---------------------------------------

       Resolution: Fixed
    Fix Version/s: 1.3
         Assignee: Asankha C. Perera

Fixed with send abort detection and SYNAPSE-341

> Race condition on connection reuse causes 'Request already submitted' exception
> -------------------------------------------------------------------------------
>
>                 Key: SYNAPSE-344
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-344
>             Project: Synapse
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 1.1.1
>         Environment: All environments
>            Reporter: Jake Lambert
>            Assignee: Asankha C. Perera
>            Priority: Critical
>             Fix For: 1.3
>
>
> When using a proxy service and HTTP-NIO with a moderate number of concurrent requests some requests fail with the following error:
> HttpServerWorker-25: Unexpected HTTP protocol error: Request already submitted
> org.apache.http.HttpException: Request already submitted
> 	at org.apache.http.impl.nio.DefaultNHttpClientConnection.submitRequest(DefaultNHttpClientConnection.java:203)
> 	at org.apache.synapse.transport.nhttp.ClientHandler.submitRequest(ClientHandler.java:142)
> 	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(HttpCoreNIOSender.java:340)
> 	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(HttpCoreNIOSender.java:256)
>         ...
> This can occur in a situation similar to that in SYNAPSE-341 (remote WS returns its response before the request is fully written).  It's due to a race condition when reusing a connection between a client I/O dispatcher thread calling NHttpClientConnection.resetOutput() when the request writing is complete and an HttpServerWorker thread calling NHttpClientConnection.submitRequest() on the same pooled connection after it has been released when the response reading is complete.

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


---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org