[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
Tue Oct 17 22:45:32 EDT 2006
Clebert wrote :
| Basically what I do on failover is to create a new consumer on the new server, replace IDs and re-register the Callback handler. The server at this point will think it's a new client coming. In case of durable subscribers/queues and persistent messages you will have the queue refilled
|
Could you explain in a little bit more detail how this works? You detect the failure at remoting level, and then, what happens? Do you preserve the Connection/Session/Consumer hierarchy on the client? How do you create the corresponding endpoint hierarchy on the fail-over ServerPeer?
(btw, for the sake of clarity, when you describe a process, could you please qualify the actors a little bit better. For example, instead of saying "what I do on failover is to create a new consumer", you probably wanted to say "what I do on failover is to create a new ClientConsumerDelegate (?) instance")
Clebert wrote :
| If the consumer receives a message from CallBack but if it didn't send an ACK yet, after the failover, the server not knowing the message might throw an exception (messageId not known).
|
The client stack knows that the fail-over took place, so if the message is non-persistent, it doesn't need to send the ACK anyway (from the server's perspective, the message is lost), and if the message is persistent, it will be recovered on the fail-over server, so the ACK will arrive for a known message. Am I am missing something?
Tim wrote :
| Yes - we should send the ids of every persistent message as part of the failover protocol - the server then repopulates the delivery list in the server consumer endpoint
|
What do you mean send the ids of every persistent message as part of the failover protocol. Who sends the ids? The messages are in database, until they are ACKed, and this is where the fail-over server will recover them from, and repopulate the queue.
Clebert wrote :
| I'm considering having a conference call with developers about these possibilities.
|
Before having a conference call, I think a better idea is to summarize what you've implemented so far. Describe how the fail-over happens step by step. Expand http://wiki.jboss.org/wiki/Wiki.jsp?page=NewMessagingHADesign for that.
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3978935#3978935
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3978935
More information about the jboss-dev-forums
mailing list