Re: [jgroups-dev] How to implement/use flow control in JGroups

Bela Ban <[email protected]>
Newsgroups gmane.comp.java.javagroups.devel
Message-ID <[email protected]>

Mike Jensen wrote:
> I think I found a good solution here. Let me know if you see any
> problems with this.
>
> I have set it up to use TCP, and removed the FC protocol. I then
> configured TCP to not use the send queue. It seems that this allows us
> to block (I assume from the kernel level from a quick inspection). I
> then just added a thread pool to handle calling back to alert we are
> ready to send more. Any worries about this setup?

This probably works.

> I tried to remove STABLE and NAKACK. As I did not understand a need for
> these with the use of TCP (unless a server goes down, in which case I am
> not concerned). But I continue to get warnings where it says
> digest=null.

NAKACK maintains vectors of seqnos received and delivered for every 
member, e.g. 4:22:1:0:442. These are updated when a message is received 
and are used to prevent duplicates and for retransmission of missing 
messages. A new member needs to get the latest up-to-date vector, so 
it'll know that the next message from P to be expected is 42 (for example).

Therefore GMS has a dependency on NAKACK; the stack won't start if you 
remove NAKACK.

STABLE is also needed to purge (stable) messages seen by everyone.



-- 
Bela Ban
Lead JGroups / Clustering Team
JBoss

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
Javagroups-development mailing list
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.