[jboss-dev-forums] [Design of Messaging on JBoss (Messaging/JBoss)] - Re: Client failover redeliveries discussion
ovidiu.feodorov@jboss.com
do-not-reply at jboss.com
Thu Oct 26 05:19:14 EDT 2006
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#3980943
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3980943
More information about the jboss-dev-forums
mailing list