BrowserTest should close its Connection in tearDown()
-----------------------------------------------------
Key: JBMESSAGING-596
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-596
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.2.0.Alpha2
Reporter: Ron Sigal
Assigned To: Ovidiu Feodorov
Priority: Minor
Fix For: 1.2.0.Alpha2
Not closing the Connection in BrowserTest.tearDown() leads to some unexpected test
failures, due to the confluence of the following facts:
1. Leaving the Connection open leaves a JMSRemotingConnection running, which keeps a
Remoting Lease alive on the server side.
2. From time to time during the test suite, ServerPeer is restarted, which resets the
objectIDSequence counter, allowing the creation of distinct objects with duplicate
ID's.
3. SimpleConnectionManager maps Remoting session id's to ConnectionEndpoints.
4. When a ServerConnectionEndpoint closes, it unregisters itself from the JMSDispatcher.
Now, the following unlikely sequence of events has been observed.
1. When BrowserTest concludes and its JVM terminates, the Remoting LeasePinger stops,
leading to an eventual detection of a Remoting connection failure.
2. The connection failure is reported to SimpleConnectionManager, which terminates the
associated Messaging Connection. When the ServerConnectionEndpoint unregisters itself
from the JMSDispatcher, it actually unregisters a different object with the same object
Id.
3. A subsequent test fails with the messages:
main 14:52:27,968 ERROR [ExceptionInterceptor] Caught Exception:
org.jboss.aop.NotFoundInDispatcherException: Object with oid: -2147483539 was not found
in the Dispatcher
--
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