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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...