[jboss-jira] [JBoss JIRA] Commented: (JBREM-662) Failed ClientInvoker not cleaned up properly
Ovidiu Feodorov (JIRA)
jira-events at jboss.com
Wed Jan 10 05:17:32 EST 2007
[ http://jira.jboss.com/jira/browse/JBREM-662?page=comments#action_12349905 ]
Ovidiu Feodorov commented on JBREM-662:
---------------------------------------
These are some observation after analyzing the code a bit:
The ConnectionValidator correctly detects a broken connection, but it does not correctly clean up the broken client invoker from InvokerRegistry, as it is supposed to, but leaves it there spinning.
This is because while trying to remove it, it doesn't get rid of all its references, but stops somewhere in between. I added a new method (InvokerRegistry.reallyDestroyClientInvoker()), that completely removes the invoker. Obviously, the name has to be changed.
Also, even if the client invoker was removed, disconnect() wouldn't behave correctly, leaving the client spinning in its MicroSocketClientInvoker.getConnection() loop (30 times, 1 sec each = 30 secs).
I fixed this by adding a volatile flag (bailOut), turned on by disconnect().
Also, InvokerRegistry.addRegisteredClientInvoker(ClientInvoker invoker, InvokerLocator locator, Map configuration) doesn't work correctly (in my opinion), because the configuration passed as parameter is not merged into ClientInvoker's configuration. However, I am not sure that should actually happen, so I will leave it here.
I've checked in fixes on Remoting_2_x branch.
Please review them and validate them, I haven't run a full remoting test suite.
My tests (http://jira.jboss.org/jira/browse/JBMESSAGING-729) are happy now, anyway.
> Failed ClientInvoker not cleaned up properly
> --------------------------------------------
>
> Key: JBREM-662
> URL: http://jira.jboss.com/jira/browse/JBREM-662
> Project: JBoss Remoting
> Issue Type: Bug
> Security Level: Public(Everyone can see)
> Affects Versions: 2.2.0.Alpha4
> Reporter: Ovidiu Feodorov
> Assigned To: Tom Elrod
>
--
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