Skip to content

Conversation

Wondertan
Copy link
Member

@Wondertan Wondertan commented Jan 13, 2025

Previously Store had a fully async nature and a range of headers written via Append wasn't guaranteed to be immediately available for Get... operations. This PR addresses the issue and synchronize writes across Store methods, yet keeping writes non-blocking for underlying IO. That is, writes still not block on disk, but reads can access what's written immediately.

Likely is gonna be merged after #239 and is draft until then.

TODO:

  • Rebase on main
  • Cleanup closing/restart logic
  • Add concurrency test case
  • Fix flaky test

@Wondertan Wondertan mentioned this pull request Mar 25, 2025
@Wondertan Wondertan mentioned this pull request May 12, 2025
Wondertan added a commit that referenced this pull request May 13, 2025
Adds a Sync method which ensures all pending writes are processed. It
blocks until the operation completes or fails.
Also, the method gets used in `DeleteTo`, ensuring deletion always
operates on the latest state.

This is technically a hack for until #241 and #263 come
Wondertan added a commit that referenced this pull request May 28, 2025
Adds a Sync method which ensures all pending writes are processed. It
blocks until the operation completes or fails.
Also, the method gets used in `DeleteTo`, ensuring deletion always
operates on the latest state.

This is technically a hack for until #241 and #263 come
Wondertan added a commit that referenced this pull request May 29, 2025
Adds a Sync method which ensures all pending writes are processed. It
blocks until the operation completes or fails.
Also, the method gets used in `DeleteTo`, ensuring deletion always
operates on the latest state.

This is technically a hack for until #241 and #263 come
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants