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