[jboss-remoting-issues] [JBoss JIRA] (JBREM-1317) BisocketClientInvoker waits for failed clients

Ron Sigal (JIRA) jira-events at lists.jboss.org
Tue Jan 15 12:07:21 EST 2013


    [ https://issues.jboss.org/browse/JBREM-1317?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12745963#comment-12745963 ] 

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


More information about the jboss-remoting-issues mailing list