rocksdb/unreleased_history/bug_fixes
anand76 ee258619be Fix missing cases of corruption retries (#13122)
Summary:
This PR fixes a few cases where RocksDB was not retrying checksum failure/corruption of file reads with the `verify_and_reconstruct_read` IO option. After fixing these cases, we can almost always successfully open the DB and execute reads even if we see transient corruptions, provided the `FileSystem` supports the `verify_and_reconstruct_read` option. The specific cases fixed in this PR are -
1. CURRENT file
2. IDENTITY file
3. OPTIONS file
4. SST footer

Pull Request resolved: https://github.com/facebook/rocksdb/pull/13122

Test Plan: Unit test in `db_io_failure_test.cc` that injects corruption at various stages of DB open and reads

Reviewed By: jaykorean

Differential Revision: D65617982

Pulled By: anand1976

fbshipit-source-id: 4324b88cc7eee5501ab5df20ef7a95bb12ed3ea7
2024-11-08 12:43:21 -08:00
..
.gitkeep Better management of unreleased HISTORY (#11481) 2023-05-30 16:42:49 -07:00
base_delta_iterator_prepare_value.md Call PrepareValue on the base iterator in BaseDeltaIterator (#13105) 2024-10-31 14:20:33 -07:00
blob_file_leak.md Fix a leak of open Blob files (#13106) 2024-10-31 15:29:30 -07:00
missing_strong_reads.md Fix missing cases of corruption retries (#13122) 2024-11-08 12:43:21 -08:00
open_sst_file_leaks.md Fix and test for leaks of open SST files (#13117) 2024-11-08 10:54:43 -08:00
write_committed_toggle_udt.md Fix write committed transactions replay when UDT setting toggles (#13121) 2024-11-06 17:32:03 -08:00