[Linux-ha-dev] implementing flow control

Guochun Shi gshi at ncsa.uiuc.edu
Sat Sep 25 20:19:57 MDT 2004


hi,

There is no flow control in heartbeat right now and a simple client that keeps sending messages will flood heartbeat and cause it to misbehavior. Some send/recv code posted
by Wei, Willna in June can be found in http://lists.community.tummy.com/pipermail/linux-ha-dev/2004-June/008074.html. Running this code immediately creates a split-brain
problem if no stonith is configured. There has been a discussion about flow control month ago  http://lists.community.tummy.com/pipermail/linux-ha-dev/2004-July/008398.html

After flow control is implemented,  client send functions can be blocking or non-blocking, which can be set through API. I think the default should be blocking. 

Yet I am not clear about the following:
quotes
"we would have three levels of flow control: 
* full-stop don't read from any client 
* part-stop read from those clients which aren't sending us lots of packets 
* full-open read all packets from everyone 
And, the way to determine which mode we're in is by looking at the downstream readers, and how full their output queues are after queueing the latest packet to it. 
"
I don't know what the output queue we are talking about here is.  The history queue has no information about how full the media has been occupied. And heartbeat does not have any receiving queue AFAIK.

please help, thanks
-Guochun

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.linux-ha.org/pipermail/linux-ha-dev/attachments/20040925/f5c111ca/attachment.html>


More information about the Linux-HA-Dev mailing list