[jboss-jira] [JBoss JIRA] Commented: (JBREM-534) multiplex client cannot re-connect to server after it has died and then been re-started

Ron Sigal (JIRA) jira-events at jboss.com
Sun Jul 23 00:01:11 EDT 2006


    [ http://jira.jboss.com/jira/browse/JBREM-534?page=comments#action_12339906 ] 
            
Ron Sigal commented on JBREM-534:
---------------------------------

This is indeed a Multiplex issue.  The client invoker is closely tied to the server invoker because it depends on a persistent socket connection to the server.  This situation is remedied by some changes to InputMultiplexor, OutputMultiplexor, MultiplexingManager, MultiplexClientInvoker, and MultiplexServerInvoker.  Whenever InputMultiplexor or OutputMultiplexor detect a broken connection, they inform MultiplexingManager, which informs all of the virtual sockets in its group.  When MultiplexClientInvoker.createSocket() finds that its priming socket has been contacted about a broken connection, it attempts to create a new priming socket connected to a new server at the same address as the one that went down.

The complication is that there might be a virtual callback MultiplexServerInvoker in the same group, bound to a particular bind port.  Attempting to create a new socket bound to the same port can cause a bind exception, so MultiplexClientInvoker gets an arbitrary bind port and restarts the MultiplexServerInvoker with a new VirtualServerrSocket bound to the new bind port.  If the Connector was created explicitly by the user, the user will have to query the Connector for its new InvokerLocator before re-registering any callback handlers.

> multiplex client cannot re-connect to server after it has died and then been re-started
> ---------------------------------------------------------------------------------------
>
>                 Key: JBREM-534
>                 URL: http://jira.jboss.com/jira/browse/JBREM-534
>             Project: JBoss Remoting
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>          Components: transport-multiplex
>    Affects Versions: 2.0.0.Beta2 (Boon)
>            Reporter: Tom  Elrod
>         Assigned To: Ron Sigal
>             Fix For: 2.0.0.CR1 (Boon)
>
>
> "However, I have found another issue that still needs looking into. If using multiplex transport and a server is killed and then re-started, it looks like the detector sees the server restarting, then tries to ping it, but can not, so discards it as being dead, then repeats this process. This does not happen when using socket transport, so looks like there is some issue where multiplex client is having trouble making invocations on a server after it has gone down and then come back up."

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list