Tim wrote :
| This makes no sense. When server A fails and server B takes over, only the persistent
messages are resurrected into server B's queues.
| The non persistent messages are lost.
| Therefore it's not possible that the non persistent messages can be successfully
acknowledged on server B, since server B won't know about them.
| This is why I said the non persistent messages should be removed from the client state
so they don't attempt to be acked.
|
Please consider this simple example: the non-persistent messages N1 (id = 1) and N2
(id=2), sent by the server A, sit in the client-side buffer. The server A fails, the VM
goes down. The connection is re-established (transparently) to server B. Server B knows
that is a secondary server for the connection that just has established (as a result of
the failover protocol). So, it could naturally assume that there are undelivered
non-persistent messages in the client-side buffer. Which have not been lost. It also
learns that the id of the messages are 1 and 2 (as a result of the fail-over protocol).
So, what is stopping the server B (again, knowing that is a secondary server that has just
been failed-over to), to accept acknowledgments for non-persistent messages that have been
salvaged this way?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3980943#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...