diff options
author | anand76 <anand1976@users.noreply.github.com> | 2024-07-15 19:13:29 -0700 |
---|---|---|
committer | Facebook GitHub Bot <facebook-github-bot@users.noreply.github.com> | 2024-07-15 19:13:29 -0700 |
commit | 5aa675457e44598dd6e5828954cecbfc2a1a4f41 (patch) | |
tree | 52ede93a26e6cb9124d84040f6b321a742a72119 /unreleased_history/bug_fixes | |
parent | 4ff35afb4275f7e39ad5253667b4bc3e2f8af5b8 (diff) |
Fix unhandled MANIFEST write errors (#12865)
Summary:
The failure of `WriteCurrentStateToManifest()` in `VersionSet::ProcessManifestWrites()` was not handled properly. If it failed, `manifest_io_status` was not updated, leading to `manifest_file_number_` being updated to the newly created manifest even though its bad. This would lead to the bad manifest immediately getting deleted, and also the good manifest (referenced by `CURRENT`) getting deleted by obsolete file deletion because of `manifest_file_number_` not referencing its number.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/12865
Reviewed By: hx235
Differential Revision: D59782940
Pulled By: anand1976
fbshipit-source-id: f752fb9a1c23fd3d734616e273613cbac204301b
Diffstat (limited to 'unreleased_history/bug_fixes')
-rw-r--r-- | unreleased_history/bug_fixes/handle_manifest_error.md | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/unreleased_history/bug_fixes/handle_manifest_error.md b/unreleased_history/bug_fixes/handle_manifest_error.md new file mode 100644 index 000000000..26f51da9c --- /dev/null +++ b/unreleased_history/bug_fixes/handle_manifest_error.md @@ -0,0 +1 @@ +Fixed a bug in handling MANIFEST write error that caused the latest valid MANIFEST file to get deleted, resulting in the DB being unopenable. |