[
https://issues.jboss.org/browse/JBREM-1317?page=com.atlassian.jira.plugin...
]
Ron Sigal commented on JBREM-1317:
----------------------------------
Here's what I think should happen in the event of a Lease failure. IIRC,
JBossMessaging accesses the callback org.jboss.remoting.Client when it sets up the
callback connection. When a timed out Lease notifies its listeners,
1. I *guess* that JBM calls Client.close()
2. Client.close() calls InvokerRegistry.destroyClientInvoker() on the callback
BisocketClientInvoker
3. InvokerRegistry.destroyClientInvoker() calls MicroSocketClientInvoker.disconnect()
4. MicroSocketClientInvoker.disconnect() calls MicroRemoteClientInvoker.disconnect()
5. MicroRemoteClientInvoker.disconnect() sets the variable connected to false
6. the loop in BisocketClientInvoker.createSocket() calls
MicroRemoteClientInvoker.isConnected(), gets false, and terminates.
I have verified steps 2 - 6. So, if I'm right about step 1, everything should be
fine.
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