Hi all,

 

I have also noticed the exact same exception, but it only rarely occurs in our 
environment. Since June I find it about 20 times spread around 3 different 
servers. Last occurrence has been on August 11. I tried to reproduce this but 
had no luck. As we are currently “hunting” bigger problems I have put those on 
hold. Nevertheless I would also be very happy about any findings on this issue.

 

Regards,

   Eric

 

________________________________

From: WALTON Jason [mailto:[EMAIL PROTECTED] 
Sent: Monday, August 25, 2008 7:13 PM
To: [email protected]
Subject: Occasionally loosing response for hosted service within Synapse?

 

Ok, I realize this is a bit of a stretch, as my Synapse code is not exactly an 
official release, but;

 

I'm running Synapse 1.1.1, with the NHTTP transport code from Synapse 1.2 
(didn't want to take Axis 1.4 for reasons I won't go into here).  I'm also 
hosting an Axis2 generated service within my Synapse runtime.  I have an Axis2 
generated client which is calling into my hosted service.  The client is 
running over the blocking HttpClient based transport, and obviously the service 
is running on the Synapse NHTTP transport.  I should also mention I'm running 
with the fix I proposed for JIRA-415 (since without that fix, I run out of 
HttpServerWorkers in less than a minute).

 

Every now and then (maybe once every 30 seconds under heavy load?), I'll send a 
request from the client, the server will receive it and process it, but then 
will fail to send a reply back to my client.  Every now and then I see this 
happen for my proxy services, too, but I have yet to figure out a way to 
reproduce it consistently, whereas I can make it happen easily for the hosted 
service.  Looking at the Synapse logs, I see:

 

<log4j:event logger="org.apache.synapse.transport.nhttp.ServerHandler" 
timestamp="1219446649613" level="ERROR" thread="HttpServerWorker-27">
<log4j:message><![CDATA[Unexpected HTTP protocol error : Response already 
submitted]]></log4j:message>
<log4j:throwable><![CDATA[org.apache.http.HttpException: Response already 
submitted
        at 
org.apache.http.impl.nio.DefaultNHttpServerConnection.submitResponse(DefaultNHttpServerConnection.java:202)
        at 
org.apache.synapse.transport.nhttp.ServerHandler.commitResponse(ServerHandler.java:212)
        at 
org.apache.synapse.transport.nhttp.ServerWorker.run(ServerWorker.java:208)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907)
        at java.lang.Thread.run(Thread.java:619)
]]></log4j:throwable>
</log4j:event>

So, it seems that the service isn't writing a reply, because for some reason it 
believes the response has already been written.  Thoughts?  Pointers for how to 
chase this down?

Reply via email to