Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed:correct the calculation of quorum in learner #47

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

seinocluster2
Copy link
Contributor

Learner accumulates the vote when booth runs renew.
the number of vote exceeds the total of acceptor after a little.
And then, booth always has the quorum.

I consult the following wiki.
http://en.wikipedia.org/wiki/Paxos_%28computer_science%29

I think that booth implements renew() by using Multi-Paxos. However, booth still doesn't implement the instance number I(ref wiki). So, I add the instance number to paxos message. Learner can discerns a acceptor message in the same round. And, booth can calculate the correct vote number.

@seinocluster2
Copy link
Contributor Author

I need to fix some issues. Please wait to merge this pull request.

 Currently, Learner accumulates the vote when booth runs renew. the
number of vote exceeds the total of acceptor after a little. And then,
booth always has the quorum.
 booth use multi-paxos to implement renew. however, booth still dosn't
"instance number". "instance number" can resolve this issue.
 And, when this was fixed, the other problem also happened. Regardless
of learner reach a quorum, booth can't commit a value when a proposer
message is lost. In terms of Paxos, this should commit a value. So, we
move the making of timer to learner(or proposer) from acceptor.

Signed-off-by: Yuichi SEINO <[email protected]>
 Currently, booth can't recover instance number when booth was fail-over
on local. So, booth can't keep ticket when booth run renews after
fail-over. we propose the following way.
 booth can get a ballot by catch. So, booth first run the full-round
paxos when booth run renew after fail-over. booth boosts a round.
And, booth resets instance number. And then, booth run the normal renew.

Signed-off-by: Yuichi SEINO <[email protected]>
@seinocluster2
Copy link
Contributor Author

I updated this pull request.

@seinocluster2
Copy link
Contributor Author

Are there any comments about those commits?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant