[Linux-ha-dev] Large delays in sending ordered HA messages
alanr at unix.sh
Mon Oct 11 09:43:35 MDT 2004
Andrew Beekhof wrote:
> On Oct 9, 2004, at 11:10 PM, Guochun Shi wrote:
>> there is a corner case which is not covered by the fix:
>> Client A sends one message(order_seq =1) and exits; Then it is started
>> again, the first message could be
>> delayed, then a receiving client will see a message with (order_seq
>> =2) and it will happily deliver it.
>> The point is a receiving client cannot tell if a message comes from a
>> normal client or a restarted client.
>> When each client joins or leaves, the heartbeat will broadcast a
>> join/leave message to the cluster, however
>> this message cannot be used as mark of start/end of a client in the
>> receiving client side since this message
>> could be delayed.
>> One way to solve this problem is to add a client generation number in
>> each client->cluster message. Heartbeat
>> need to maintain a data structure(hashtable?) for each type of client.
>> Using this client generation number, a receiving
>> client can easily tell if a client has restarted.
>> any comment?
> does this happen only if order_seq=1 or was that just an example?
It is improbable to happen for anything but very small sequence numbers.
Alan Robertson <alanr at unix.sh>
"Openness is the foundation and preservative of friendship... Let me claim
from you at all times your undisguised opinions." - William Wilberforce
More information about the Linux-HA-Dev