[
https://issues.jboss.org/browse/JBREM-1317?page=com.atlassian.jira.plugin...
]
Ron Sigal commented on JBREM-1317:
----------------------------------
I've been thinking about this issue, and I'm not convinced that anything needs to
be done.
1. If there's a failure of a control connection, then there's always the
possibility that a new one will be created, assuming that pinging is enabled for control
connections. BisocketClientInvoker.createSocket() takes that possibility into account,
checking for a new control connection each time around the loop.
2. If there's a more global problem, e.g., a network failure or a client getting shut
down, then the Lease will time out and notify JBossMessaging, which will shut down the
connection.
Doug, what do you think?
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