synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jake Lambert (JIRA)" <>
Subject [jira] Commented: (SYNAPSE-344) Race condition on connection reuse causes 'Request already submitted' exception
Date Wed, 04 Jun 2008 16:01:47 GMT


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:
>             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(
> 	at org.apache.synapse.transport.nhttp.ClientHandler.submitRequest(
> 	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.sendAsyncRequest(
> 	at org.apache.synapse.transport.nhttp.HttpCoreNIOSender.invoke(
>         ...
> 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:
For additional commands, e-mail:

View raw message