SourceForge.net
2003-06-24 11:11:25 UTC
Bugs item #759752, was opened at 2003-06-24 21:11
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=759752&group_id=54559
Category: server
Group: v0.7.5
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Anderson (tanderson)
Assigned to: Tim Anderson (tanderson)
Summary: Resumed durable sub after network outage fails to recv mesgs
Initial Comment:
If a durable subscription is resumed after a network
outage, it often fails to receive any messages.
This is most visible using the tcp connector because it
detects dropped connections faster than the rmi
connector.
The problem is due to a race condition between the
server cleaning up the disconnected connections, and a
new durable subscriber being registered with the same
name. If the connection cleanup occurs
after the new subscription is registered, it removes the
new durable subscriber as well.
To reproduce:
1. configure openjms to use the tcp connector
2. download and compile the attached Reconnect test
client
3. run openjms on one host
4. run the test client on another host
5. Run a publisher on the server host, publishing under
topic1, using PERSISTENT delivery. Publish 10000
messages or so.
6. Disconnect the network connection between the two
hosts.
7. When the client throws an exception, reconnect the
network. The client should reconnect to the server.
95% of the time, the client won't receive any messages
as it has been deregistered by the connection cleanup.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=759752&group_id=54559
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=759752&group_id=54559
Category: server
Group: v0.7.5
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Anderson (tanderson)
Assigned to: Tim Anderson (tanderson)
Summary: Resumed durable sub after network outage fails to recv mesgs
Initial Comment:
If a durable subscription is resumed after a network
outage, it often fails to receive any messages.
This is most visible using the tcp connector because it
detects dropped connections faster than the rmi
connector.
The problem is due to a race condition between the
server cleaning up the disconnected connections, and a
new durable subscriber being registered with the same
name. If the connection cleanup occurs
after the new subscription is registered, it removes the
new durable subscriber as well.
To reproduce:
1. configure openjms to use the tcp connector
2. download and compile the attached Reconnect test
client
3. run openjms on one host
4. run the test client on another host
5. Run a publisher on the server host, publishing under
topic1, using PERSISTENT delivery. Publish 10000
messages or so.
6. Disconnect the network connection between the two
hosts.
7. When the client throws an exception, reconnect the
network. The client should reconnect to the server.
95% of the time, the client won't receive any messages
as it has been deregistered by the connection cleanup.
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=474136&aid=759752&group_id=54559