[
https://issues.jboss.org/browse/JBREM-1317?page=com.atlassian.jira.plugin...
]
Ron Sigal commented on JBREM-1317:
----------------------------------
That's true. Depending on the call to
ServerInvokerCallbackHandler.handleCallbackOneway(), the invocation will occur in a
separate thread on the client or on the server. I went back to look at the code, and this
version will block on the server side waiting for the client to spawn a thread, which, in
the scenario you describe, won't happen.
The easiest solution would be to change the call to
callbackHandler.handleCallbackOneway(callback, true);
in which case the server side would spawn a thread and return.
I'll get in touch with Howard.
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