Andrew Carman commented on ZOOKEEPER-30:

Flavio writes:

1-       It seems right to me to have Zab assigning zxids to requests and being 
the return value of propose;

2-       I see it as being the responsibility of Zab to guarantee that messages 
are correctly delivered by everyone or no one, so I would say that it performs 
the logging. However, I was under the impression that we don't log message 
deliveries. Instead, we log when a server acks a proposal, and this is the 
information we use to recover. I'm just not sure about burying it into Zab. It 
might be best to have it as a separate module;

3-       The proposal must have a zxid assigned as this is the return value. 
Method "deliver" is a callback;

4-       We don't transfer the whole history of operations up to a point. A 
leader either transfer a snapshot or send the difference of the transaction log 
 to a follower (check FollowerHandler.run() and Follower.followLeader());

5-       After some discussion, we thought that it would be best to constrain 
any atomic broadcast implementation we use to be leader-based. In this case, we 
have a call to Zab to get the leader and we use it for the service as well.

> Hooks for atomic broadcast protocol
> -----------------------------------
>                 Key: ZOOKEEPER-30
>                 URL: https://issues.apache.org/jira/browse/ZOOKEEPER-30
>             Project: Zookeeper
>          Issue Type: New Feature
>            Reporter: Patrick Hunt
>            Assignee: Mahadev konar
> Moved from SourceForge to Apache.
> http://sourceforge.net/tracker/index.php?func=detail&aid=1938788&group_id=209147&atid=1008547

This message is automatically generated by JIRA.
You can reply to this email to add a comment to the issue online.

Reply via email to