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

Asankha C. Perera resolved SYNAPSE-470.
---------------------------------------

    Resolution: Fixed

Fixed on trunk

> Expiring keep-alive connections can cause thread hangs
> ------------------------------------------------------
>
>                 Key: SYNAPSE-470
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-470
>             Project: Synapse
>          Issue Type: Bug
>          Components: Transports
>    Affects Versions: 1.2
>            Reporter: Eric Hubert
>            Assignee: Asankha C. Perera
>             Fix For: 1.3
>
>
> The last entries in the logs before a hang are:
> [HttpClientWorker-369] ERROR ServerHandler IO error submiting response : 
> Connection is closed
> [HttpClientWorker-362] ERROR ServerHandler IO error submiting response : 
> Connection is closed
> Here are the suspicious entries from the thread dumps. When I get a bunch of 
> thread dumps during normal operations, I could never find those entries in 
> it. No matter how often I tried. But these entries seem to be a pattern. They 
> have a server worker waiting at the same position in the code. They are 
> waiting of a notification (from a ClientHandler?).
>  Additionally on another node a client worker was also waiting for a 
> notification. 
> Here are the details from the dump:
> "HttpServerWorker-5" prio=1 tid=0xa8b9d670 nid=0x2b4d in Object.wait() 
> [0xa56fe000..0xa56ff160]
>         at java.lang.Object.wait(Native Method)
>         at java.lang.Object.wait(Object.java:474)
>         at 
> org.apache.synapse.transport.nhttp.Axis2HttpRequest.streamMessageContents(Axis2HttpRequest.java:213)
> "HttpServerWorker-14" prio=1 tid=0x0840b6c0 nid=0x4194 in Object.wait() 
> [0xa577e000..0xa577efe0]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0xea555cf8> (a 
> org.apache.synapse.transport.nhttp.Axis2HttpRequest)
>         at java.lang.Object.wait(Object.java:474)
>         at 
> org.apache.synapse.transport.nhttp.Axis2HttpRequest.streamMessageContents(Axis2HttpRequest.java:213)
> "HttpClientWorker-62" prio=1 tid=0xa89d03a8 nid=0x7c14 in Object.wait() 
> [0xa4ffe000..0xa4fff0e0]
>         at java.lang.Object.wait(Native Method)
>         - waiting on <0xb1d0da00> (a java.lang.Object)
>         at java.lang.Object.wait(Object.java:474)
>         at 
> org.apache.http.nio.util.SharedOutputBuffer.flushContent(SharedOutputBuffer.java:161)
> Another thing I noticed and don't know whether this is normal or not is the 
> number at the end of the Client-Worker Threads. While ServerWorker stay at -1 
> till -20. ClientWorker increase up to around -400. The total number is only 
> about 20 each. So it looks to me as if ClientWorker Threads somehow die and 
> get newly created.

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