It May be Posible to have two leases for the same client because they are tracked by jvm
id. This results in leases being closed on the server without notification to the
client.
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Key: JBMESSAGING-1262
URL:
http://jira.jboss.com/jira/browse/JBMESSAGING-1262
Project: JBoss Messaging
Issue Type: Bug
Affects Versions: 1.4.0.SP3_CP01, 1.4.0.SP3
Reporter: Jay Howell
Assigned To: Tim Fox
Platform: EAP 4.2.1, JBM 1.4.0.SP3, JBREM 2.2.2.SP5 (pre-release)
After a short-network outage, if a JBM client detects the error, and reconnects to the JBM
server before the original lease expires, then the JBM server will clean up resources
associated with both the original connection, *and* the new connection, once the lease
expiry occurs.
The JBM server appears to track client sessions by a client JVM id, assuming that a
single remoting invoker/lease can exist for a given JBM client JVM at any given time.
However, in the error scenario described about, two leases associated with the same client
exist on the JBM server for a short period of time, until the first stale lease expires.
The net effect of this problem is that healthy sessions are closed on the JBM server, but
are never detected by the client, since the new client lease pinger continues to
functioning correctly.
Testcase:
1. Configure the lease timeout to a high value (e.g. 60 seconds)
2. Pull a network cable causing a JBM subscriber to disconnect. The network outage should
be < 2 * lease expiry
3. Restore the network cable, allowing the subscriber to reconnect
4. Wait for the original lease to expire on the JBM server
5. Observe that all subscriptions (including the new healthy ones) to the client have been
closed
--
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