Skip to content

[ReplicatedLoglet] Remote append #2003

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

Merged
merged 1 commit into from
Oct 7, 2024
Merged

Conversation

muhamadazmy
Copy link
Contributor

@muhamadazmy muhamadazmy commented Sep 30, 2024

[ReplicatedLoglet] Remote append

Summary:
Implements a remote loglet append calls to leader sequencer


Stack created with Sapling. Best reviewed with ReviewStack.

@muhamadazmy muhamadazmy force-pushed the pr2003 branch 5 times, most recently from 1b1ab5a to cdf8c26 Compare October 1, 2024 09:00
@muhamadazmy muhamadazmy marked this pull request as ready for review October 1, 2024 09:08
Copy link
Contributor

@tillrohrmann tillrohrmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks a lot for creating the RemoteSequencer @muhamadazmy. The changes look good to me. I had a few minor comments and one question about the handling of the inflight request when a connection gets closed.

@muhamadazmy muhamadazmy force-pushed the pr2003 branch 2 times, most recently from 835ce9a to 62db52f Compare October 3, 2024 10:46
@muhamadazmy muhamadazmy force-pushed the pr2003 branch 6 times, most recently from ad804f3 to 845d464 Compare October 3, 2024 12:35
Summary:
Implements a remote loglet append calls to leader sequencer
Copy link
Contributor

@tillrohrmann tillrohrmann left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for addressing my comments @muhamadazmy. The changes look good to me :-)

Comment on lines +377 to +378
// For now this should not be a problem since they can (possibly) retry
// to do the write again later.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which means that we effectively produce in at least once manner to Bifrost, right?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@tillrohrmann That is correct. Application layer is responsible for running deup. Bifrost guarantees that committed records have accomplished a write quorum. But failed writes can still show up in the logs. For example during seal. Hence application layer must take care of duplicates

@muhamadazmy muhamadazmy merged commit 2128500 into restatedev:main Oct 7, 2024
18 checks passed
@muhamadazmy muhamadazmy deleted the pr2003 branch October 7, 2024 07:08
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.

4 participants