Re: [jgroups-users] Strange Behaviour

Questions/problems related to using JGroups <[email protected]>
Newsgroups gmane.comp.java.javagroups.general
Message-ID <[email protected]>
<< ************************************************************ 
<< Ah, OK, I found the problem in your code (looking at the code below): 
<< ************************************************************ 

<< - You have members A,B,C,D,E. The majority is 3 
<<- A (leader) sends the proposal to B 
<< - A gets the ACK from itself (1 ack) 
<<- A sends the proposal to C 
<<- A gets the ACK from B (2 acks) 
<<- A sends the proposal to D 
<<- A gets the ACK from C (3 acks) 
<<- A now has 3 acks as therefore starts sending COMMIT messages 
<<- A sends the commit message to B, C,D,E 
<<- E receives the COMMIT message 
<<- A only now sends the proposal to E 

A great catch.

Questions arise: 
1. I assume you meant the above steps are possible to occur (do not always
happen) is it correct?
2. As leader sends proposal, P1, to A,B,C,D,E, and doing this locally in
same for loop, how can an ACK for proposal, P1, for  replica C receives
before leader finishing sending P1 to all?
Does that occur because thread-pool is blocked from sending subsequent
unicast message until current unicast message arrives at the bottom of the
protocol stack (UDP).

<<- When getting a COMMIT(P) for which no proposal P has been received, 
<< queue P. When P is received, commit it immediately. This might lead to 
<< an incorrect history of commits though...

Yes, it is good solution, and it works fine in 3 and 5-servers ensemble but
it causes deliver order violation in 7 and 9-servers ensemble.   

I am thinking for another solution which is that leader processes proposal
and commit messages from one thread pool. This avoids commit message to
arrive before its proposal message. But it may cause delay in latency as it
is possible to have many proposals ahead in queue to send before sending
commit message. 

What do you think?

Thank you indeed

Ibrahim




--
View this message in context: http://jgroups.1086181.n5.nabble.com/Strange-Behaviour-tp11141p11145.html
Sent from the JGroups - General mailing list archive at Nabble.com.

------------------------------------------------------------------------------
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.