rocksdb/file
Omkar Gawde 2afb387917 Fix missed condition variable signal in DeleteScheduler (#14442)
Summary:
Pull Request resolved: https://github.com/facebook/rocksdb/pull/14442

In `BackgroundEmptyTrash()`, the bucket counter uses post-decrement
(`iter->second--`), which assigns the pre-decrement value to
`pending_files_in_bucket`. When a bucket transitions from 1 to 0 files,
`pending_files_in_bucket` receives the value 1 (not 0), so the check
`pending_files_in_bucket == 0` fails. This means `WaitForEmptyTrashBucket()`
is never woken up when a specific bucket empties, unless all global pending
files are also zero.

Fix: Use pre-decrement (`--iter->second`) so the decremented value correctly
triggers the condition variable signal.

Reviewed By: xingbowang

Differential Revision: D95303385

fbshipit-source-id: 3c5f0978ff33600acaf406b3f839cf13d9983055
2026-03-10 10:26:45 -07:00
..
delete_scheduler.cc Fix missed condition variable signal in DeleteScheduler (#14442) 2026-03-10 10:26:45 -07:00
delete_scheduler.h Standardize on clang-format version 18 (#13233) 2024-12-19 10:58:40 -08:00
delete_scheduler_test.cc Fix missed condition variable signal in DeleteScheduler (#14442) 2026-03-10 10:26:45 -07:00
file_prefetch_buffer.cc Fall back to sync read when async IO is unavailable (#14337) 2026-02-17 12:51:36 -08:00
file_prefetch_buffer.h Propagate Poll errors in FilePrefetchBuffer::PollIfNeeded (#14282) 2026-01-30 12:18:44 -08:00
file_util.cc Propagate file_checksum through FileOptions on NewRandomAccessFile (#14321) 2026-02-17 13:05:44 -08:00
file_util.h Propagate file_checksum through FileOptions on NewRandomAccessFile (#14321) 2026-02-17 13:05:44 -08:00
filename.cc Resuming and persisting subcompaction progress in CompactionJob (#13983) 2025-10-01 14:21:55 -07:00
filename.h Resuming and persisting subcompaction progress in CompactionJob (#13983) 2025-10-01 14:21:55 -07:00
line_file_reader.cc Support read rate-limiting in SequentialFileReader (#9973) 2022-05-24 10:28:57 -07:00
line_file_reader.h Support read rate-limiting in SequentialFileReader (#9973) 2022-05-24 10:28:57 -07:00
prefetch_test.cc Fix out of disk unit test issue (#14425) 2026-03-04 13:48:48 -08:00
random_access_file_reader.cc Fall back to sync read when async IO is unavailable (#14337) 2026-02-17 12:51:36 -08:00
random_access_file_reader.h propagate request_id from app -> Rocks -> FS (#13616) 2025-05-16 21:25:50 -07:00
random_access_file_reader_test.cc propagate request_id from app -> Rocks -> FS (#13616) 2025-05-16 21:25:50 -07:00
read_write_util.cc Run Clang format on file folder (#10860) 2022-10-24 18:34:52 -07:00
read_write_util.h Remove unnecessary, confusing 'extern' (#12300) 2024-01-29 10:38:08 -08:00
readahead_file_info.h Reuse internal auto readhead_size at each Level (expect L0) for Iterations (#9056) 2021-11-10 16:20:04 -08:00
readahead_raf.cc Support GetFileSize API in FSRandomAccessFile (#13676) 2025-07-09 10:40:28 -07:00
readahead_raf.h Make StringEnv, StringSink, StringSource use FS classes (#7786) 2021-01-04 16:01:01 -08:00
sequence_file_reader.cc Retry DB::Open upon a corruption detected while reading the MANIFEST (#12518) 2024-04-18 17:36:33 -07:00
sequence_file_reader.h Retry DB::Open upon a corruption detected while reading the MANIFEST (#12518) 2024-04-18 17:36:33 -07:00
sst_file_manager_impl.cc Clean up some CFOptions code hygiene, fix SetOptions() bug (#13294) 2025-01-15 13:11:40 -08:00
sst_file_manager_impl.h Remove stats_ field from SstFileManagerImpl (#13757) 2025-07-08 15:54:42 -07:00
writable_file_writer.cc Support Super Block Alignment (#13909) 2025-10-01 18:20:35 -07:00
writable_file_writer.h Support Super Block Alignment (#13909) 2025-10-01 18:20:35 -07:00