[ 
https://issues.apache.org/jira/browse/SYNAPSE-344?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12602329#action_12602329
 ] 

Jake Lambert commented on SYNAPSE-344:
--------------------------------------

I'm able to reproduce the problem with the head of the Synapse 1.2 trunk (beta 
1, svn rev 663252).    Both this bug and related SYNAPSE-341 use the same test 
case as the fixed SYNAPSE-321bug (proxy service, concurrency, larger messages 
with attachments, targetting Axis2 service) - these are just further problems 
I'm finding.

> 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
>            Priority: Critical
>
> 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: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to