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

Make all I/O errors fatal. Fixes potential corruption #836

Merged
merged 1 commit into from
Jul 29, 2024

Conversation

cberner
Copy link
Owner

@cberner cberner commented Jul 29, 2024

If a transient I/O error occurred during the updates to a btree, but then I/O errors did not occur when the Database was dropped. It was possible for the file to be flushed with a clean recovery flag and broken transaction, leading to corruption

If a transient I/O error occurred during the updates to a btree, but
then I/O errors did not occur when the Database was dropped. It was
possible for the file to be flushed with a clean recovery flag and
broken transaction, leading to corruption.

After an I/O all operations that touch the StorageBackend will now
return StorageError::PreviousIo
@cberner cberner merged commit 3ca4467 into master Jul 29, 2024
3 checks passed
@cberner cberner deleted the transient_io_err branch July 29, 2024 01:27
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.

1 participant