[
https://issues.jboss.org/browse/JBREM-1317?page=com.atlassian.jira.plugin...
]
Doug Grove commented on JBREM-1317:
-----------------------------------
In the case where the client has failed, and the server has received the broken pipe, it
seems strange to wait for the control connection to timeout. Having said that, living
with this behavior then becomes an eduction issue. Support needs to be aware that this
can block indefinitely, or can block for an extended period. In the case of JBoss
Messaging, this means that the post office will be completely locked and no messages will
be delivered.
BisocketClientInvoker waits for failed clients
----------------------------------------------
Key: JBREM-1317
URL:
https://issues.jboss.org/browse/JBREM-1317
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: callbacks
Affects Versions: 2.5.4.SP3
Environment: JBoss EAP 5.1.2
Reporter: Doug Grove
Assignee: Ron Sigal
Priority: Minor
When a client dies or is killed, the failure is actually detected in
org.jboss.remoting.transport.socket.MicroSocketClientInvoker:
(NEW ClientSocketWrapper[Socket[addr=/10.0.0.212,port=36600,localport=4458].d3e837]) got
Exception: java.io.IOException: Broken pipe
The "Broken pipe" exception means that the client has disconnected and can not
return. This exception is treated in the code a retry-able, however.
The code carries on, finally calling BisocketClientInvoker.createSocket(). This code
then waits for a socket to appear in a list. I can see no way for a new socket to ever
appear in the list.
This results in the code waiting for the full duration of the configured timeout.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira