[
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