Andrew Chang
3ef8b1b743
Guard auto-readahead against exhausted index iter (#14631)
Summary:
Pull Request resolved: https://github.com/facebook/rocksdb/pull/14631
Observed crash from ZippyDB iterate scans:
```
onFatalError: unexpected error : Invariant SignalFatal:
fbcode/zippydb/server/Main.cpp:handleSigToFatalCommon:281:FATAL false
failed: Signal 11 (SIGSEGV) at address 0x0 ... method: MultiIterate ...
RocksDB Activity: iterate
```
Key stack frames:
rocksdb::BlockBasedTableIterator::IsNextBlockOutOfReadaheadBound()
fbcode/rocksdb/src/table/block_based/block_based_table_iterator.h:471
rocksdb::BlockBasedTableIterator::BlockCacheLookupForReadAheadSize()
fbcode/rocksdb/src/table/block_based/block_based_table_iterator.cc:878
rocksdb::FinalizeAsyncRead()
rocksdb::FilePrefetchBuffer::PollIfNeeded()
rocksdb::BlockFetcher::ReadBlockContents()
rocksdb::BlockBasedTableIterator::InitDataBlock()
rocksdb::DBIter::Next()
Reviewed By: xingbowang
Differential Revision: D101217429
fbshipit-source-id: e7657909a0f07526d070b214cb783f581b8e98ca
2026-04-17 12:36:29 -07:00
..
2026-02-13 17:15:10 -08:00
2020-06-29 14:53:17 -07:00
2026-04-10 17:04:47 -07:00
2026-03-05 14:18:08 -08:00
2026-04-08 21:05:03 -07:00
2026-02-11 14:43:41 -08:00
2026-04-17 12:36:29 -07:00
2026-04-17 12:36:29 -07:00
2026-02-23 12:42:05 -08:00
2026-03-19 14:54:24 -07:00
2026-04-08 15:25:02 -07:00
2026-04-08 21:05:03 -07:00
2026-02-23 12:42:05 -08:00
2026-04-10 17:04:47 -07:00
2026-04-10 17:04:47 -07:00
2026-02-23 12:42:05 -08:00
2026-02-23 12:42:05 -08:00
2025-10-17 19:54:49 -07:00
2024-01-05 09:29:01 -08:00
2022-06-10 08:51:45 -07:00
2022-06-10 08:51:45 -07:00
2026-03-30 11:58:45 -07:00
2026-01-09 14:37:46 -08:00
2026-03-06 10:13:51 -08:00
2026-03-06 10:13:51 -08:00
2026-03-06 10:13:51 -08:00
2024-06-07 08:57:11 -07:00
2026-03-06 10:13:51 -08:00
2026-03-06 10:13:51 -08:00
2025-06-16 14:19:03 -07:00
2022-10-25 11:50:38 -07:00
2026-02-23 12:42:05 -08:00
2025-05-15 17:14:23 -07:00
2024-06-12 18:47:11 -07:00
2025-11-05 20:00:00 -08:00
2025-11-10 14:47:36 -08:00
2025-11-10 14:47:36 -08:00
2025-08-04 14:15:38 -07:00
2025-08-04 14:15:38 -07:00
2025-11-10 14:47:36 -08:00
2025-11-10 14:47:36 -08:00
2025-11-05 20:00:00 -08:00
2025-05-15 17:14:23 -07:00
2020-06-29 14:53:17 -07:00
2026-04-10 17:04:47 -07:00
2026-04-10 17:04:47 -07:00
2025-05-15 17:14:23 -07:00
2024-06-12 15:44:37 -07:00
2026-02-13 11:56:22 -08:00
2026-04-08 15:25:02 -07:00
2026-03-04 21:09:54 -08:00
2022-02-17 16:34:46 -08:00
2023-01-11 14:20:40 -08:00
2026-02-11 14:43:41 -08:00
2026-04-10 17:04:47 -07:00
2025-11-05 20:00:00 -08:00
2024-01-05 09:29:01 -08:00
2025-09-22 14:28:38 -07:00
2025-05-15 17:14:23 -07:00
2024-06-07 08:57:11 -07:00
2026-01-09 14:37:46 -08:00
2026-01-09 14:37:46 -08:00
2025-05-15 17:14:23 -07:00
2026-02-13 11:18:05 -08:00
2026-04-08 21:05:03 -07:00