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

Linearizability or atomic broadcast property #17

Open
tisonkun opened this issue Sep 4, 2023 · 2 comments
Open

Linearizability or atomic broadcast property #17

tisonkun opened this issue Sep 4, 2023 · 2 comments

Comments

@tisonkun
Copy link

tisonkun commented Sep 4, 2023

It seems that the Synod protocol defines a slot number based sequential proposals state in the Replica.

However, the leader retries the proposal with blot_number.round + 1 if it determinates a high-priority proposal. This can lead a reverse order of proposals if a latter proposal gets accepted first.

I wonder if I get it wrong or is there other extension to ensure linearizability or atomic broadcast property for the state changed apply order.

@tisonkun
Copy link
Author

tisonkun commented Sep 5, 2023

It seems that Replica#perform does some sort to keep the perform order. But I don't work out or find a prove for it.

@tisonkun
Copy link
Author

tisonkun commented Sep 6, 2023

If c″≠c′, that is, the replica proposed a different command for that slot, the replica returns c″ to set requests so c″ is proposed again at a later time. Next, the replica invokes perform(c′).

But a replica can silently repropose requests so the order is not promised.

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