rocksdb/env
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
..
composite_env.cc
composite_env_wrapper.h Add some documentation for Env related interfaces (#12813) 2024-06-28 18:56:40 -07:00
emulated_clock.h
env.cc Add some documentation for Env related interfaces (#12813) 2024-06-28 18:56:40 -07:00
env_basic_test.cc
env_chroot.cc
env_chroot.h
env_encryption.cc
env_encryption_ctr.h
env_posix.cc
env_test.cc
file_system.cc Fix missing cases of corruption retries (#13122) 2024-11-08 12:43:21 -08:00
file_system_tracer.cc
file_system_tracer.h
fs_on_demand.cc Fix compile error in Clang (#12588) 2024-05-02 16:54:21 -07:00
fs_on_demand.h
fs_posix.cc
fs_readonly.h
fs_remap.cc Add missing RemapFileSystem::ReopenWritableFile (#12941) 2024-09-17 13:08:25 -07:00
fs_remap.h Add missing RemapFileSystem::ReopenWritableFile (#12941) 2024-09-17 13:08:25 -07:00
io_posix.cc Remove close when fd == -1. (#12732) 2024-06-05 12:52:48 -07:00
io_posix.h
io_posix_test.cc
mock_env.cc
mock_env.h
mock_env_test.cc
unique_id_gen.cc
unique_id_gen.h