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

Possible bug in try-pre-accept #23

Open
devu1997 opened this issue Feb 28, 2023 · 0 comments
Open

Possible bug in try-pre-accept #23

devu1997 opened this issue Feb 28, 2023 · 0 comments

Comments

@devu1997
Copy link

https://github.com/efficient/epaxos/blob/master/src/epaxos/epaxos.go#L1691

In line 1691, shouldn't it be if !inst.lb.possibleQuorum[q] instead of. if !inst.lb.possibleQuorum[tpar.AcceptorId]?

Reasoning-
Line 1686 sets inst.lb.possibleQuorum[tpar.AcceptorId] = false.
Hence, the if condition in line 1691 will be always true. So the value of notInQuorum will be always r.N. This means if one replica rejected the try-pre-accept then notInQuorum will be directly set to r.N and then the condition in line 1695 will be always true. And hence the replica will move to phase 1 all the time. So code in lines 1700 to 1715 are never executed.

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

No branches or pull requests

1 participant