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

The promise message should include the last accepted proposal #1

Open
meteam2022 opened this issue Aug 15, 2023 · 1 comment
Open

Comments

@meteam2022
Copy link

Describe the Bug

When an Acceptor receives a prepare msg, it replies with a promise msg which should include the last accepted proposal it has received.
When a proposer receives majority promise msgs, it should set the value to the value in the last accepted proposal with highest proposal number. If all last accepted proposals are null, it can set the value to its originally proposed value.

However, the current code doesn't include the last accepted proposal:

paxos-rs/src/main.rs

Lines 114 to 115 in 3679111

let msg = RegisterMsg::Internal(PaxosMsg::Promise(
request_id, org_sender, rid,

To Reproduce

Below is an error trace. The server plays both Proposer and Acceptor role, but it does not send a Prepare msg to itself, it might be another bug.

image

If we separate the Proposer and Acceptor role, the bug trace helps us better understand the issue:

image

@isubasinghe
Copy link
Owner

Thanks a lot for your report @meteam2022, I will fix this when I get some free time.

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

2 participants