Josh Kang
aeebcbded4
Add coroutine external table reads ( #15291 )
...
Summary:
Pull Request resolved: https://github.com/facebook/rocksdb/pull/15291
Add experimental coroutine interfaces for implementing asynchronous basic and full `ExternalTableReader`s. Implementations opt in through `CoroExternalTableReaderBase<Mode>` by providing `GetCoroutine()` and may override `MultiGetCoroutine()`; the default implementation runs the individual Get operations concurrently. The external-table adapter uses these APIs when supported and otherwise retains the existing synchronous behavior.
As a smaller supporting fix, Single Get coroutine reads using non-mmap, non-direct I/O on a kFSBuffer-capable `FileSystem` now use `FSRandomAccessFile::SubmitReadAsync()` instead of falling back to synchronous `Read()`.
Reviewed By: xingbowang
Differential Revision: D122187491
fbshipit-source-id: 217e2953756938bbd3f30358a997a7ca3ed5543e
2026-10-01 09:28:24 -07:00
..
2026-10-01 09:28:24 -07:00
2026-09-30 12:39:00 -07:00
2026-09-30 04:40:00 -07:00
2026-09-16 18:10:21 -07:00
2026-06-10 17:02:47 -07:00
2026-06-10 17:02:47 -07:00
2024-04-16 08:45:38 -07:00
2024-11-04 18:06:07 -08:00
2026-09-24 11:46:13 -07:00
2026-04-16 16:45:13 -07:00
2026-09-11 04:44:59 -07:00
2026-09-17 13:18:07 -07:00
2026-04-08 18:58:40 -07:00
2026-04-08 18:58:40 -07:00
2026-05-12 16:06:58 -07:00
2026-09-28 12:04:07 -07:00
2026-08-26 21:52:40 -07:00
2026-02-17 23:33:39 -08:00
2026-02-17 23:33:39 -08:00
2026-02-17 13:05:44 -08:00
2026-02-17 13:05:44 -08:00
2026-09-10 14:56:12 -07:00
2026-02-17 23:33:39 -08:00
2026-02-17 23:33:39 -08:00
2026-09-11 04:44:59 -07:00
2026-06-10 17:02:47 -07:00
2026-08-31 14:49:48 -07:00
2026-09-28 14:31:40 -07:00
2026-08-04 13:36:03 -07:00
2024-03-22 13:40:42 -07:00
2026-08-26 20:14:26 -07:00
2024-12-19 10:58:40 -08:00
2025-07-09 10:40:28 -07:00
2026-07-22 16:01:44 -07:00
2026-06-01 18:13:29 -07:00
2026-08-22 12:17:33 -07:00
2026-09-28 14:31:40 -07:00
2026-09-23 13:09:24 -07:00
2024-02-05 10:26:41 -08:00
2025-06-04 10:44:17 -07:00
2025-05-05 17:42:57 -07:00
2026-06-01 15:36:38 -07:00
2026-08-03 12:59:37 -07:00
2026-07-26 21:05:16 -07:00
2026-09-17 11:26:24 -07:00
2025-04-11 10:08:29 -07:00
2026-08-05 13:21:37 -07:00
2026-02-17 23:33:39 -08:00
2026-06-05 10:18:47 -07:00
2025-02-18 11:01:19 -08:00
2026-02-17 23:33:39 -08:00
2026-06-05 10:18:47 -07:00
2026-08-11 17:38:34 -07:00
2026-08-07 13:34:58 -07:00
2026-07-01 10:34:16 -07:00
2025-10-09 14:31:47 -07:00
2026-02-17 23:33:39 -08:00
2026-09-29 16:47:03 -07:00
2026-07-30 10:38:04 -07:00
2026-02-17 23:33:39 -08:00
2026-09-17 13:18:07 -07:00
2024-12-19 10:58:40 -08:00
2026-10-01 09:28:24 -07:00
2026-10-01 09:28:24 -07:00
2026-09-17 11:26:24 -07:00
2025-08-05 23:19:09 -07:00
2026-06-05 15:17:12 -07:00
2026-09-11 04:44:59 -07:00
2026-01-20 14:10:41 -08:00
2026-03-09 15:17:31 -07:00
2026-07-15 12:07:38 -07:00
2026-05-11 17:02:22 -07:00
2024-11-22 17:53:35 -08:00
2026-08-26 19:44:47 -07:00
2026-08-17 19:30:37 -07:00
2026-09-30 04:40:00 -07:00
2026-09-30 04:40:00 -07:00
2026-09-30 04:40:00 -07:00
2026-09-17 12:46:43 -07:00
2026-09-17 12:46:43 -07:00
2026-07-22 16:01:44 -07:00
2026-09-24 09:46:56 -07:00
2026-08-26 21:52:40 -07:00
2026-08-26 21:52:40 -07:00
2026-08-26 21:52:40 -07:00
2026-06-05 15:17:12 -07:00
2023-07-03 09:41:48 -07:00
2026-04-03 22:47:51 -07:00
2026-08-12 14:31:47 -07:00
2026-08-05 13:21:37 -07:00
2026-02-17 23:33:39 -08:00
2025-01-15 13:11:40 -08:00
2025-05-05 17:42:57 -07:00
2026-08-26 20:14:26 -07:00
2023-06-15 12:25:04 -07:00
2026-02-17 23:33:39 -08:00
2026-08-11 16:08:45 -07:00
2026-08-11 16:08:45 -07:00
2026-04-02 07:31:56 -07:00
2023-04-25 12:08:23 -07:00
2026-07-24 09:36:04 -07:00
2024-12-26 13:20:35 -08:00
2026-04-27 12:17:09 -07:00
2026-04-27 12:17:09 -07:00
2026-09-24 11:46:13 -07:00
2026-09-24 11:46:13 -07:00
2026-05-07 13:10:59 -07:00
2024-02-07 10:44:11 -08:00
2024-12-19 10:58:40 -08:00
2024-12-06 13:29:52 -08:00
2024-12-06 13:29:52 -08:00
2026-02-17 23:33:39 -08:00
2026-08-17 13:47:30 -07:00
2026-09-11 04:44:59 -07:00
2026-08-17 13:47:30 -07:00
2026-09-11 04:44:59 -07:00
2026-09-11 04:44:59 -07:00
2025-02-10 17:15:47 -08:00
2026-04-10 17:04:47 -07:00
2026-07-20 16:32:42 -07:00
2026-07-20 16:32:42 -07:00
2025-09-08 13:11:28 -07:00
2026-04-10 17:04:47 -07:00
2024-11-04 18:06:07 -08:00
2026-04-08 18:58:40 -07:00
2026-07-08 13:58:00 -07:00
2026-08-05 13:21:37 -07:00
2026-07-29 12:44:27 -07:00
2024-01-31 16:30:26 -08:00
2024-01-31 16:30:26 -08:00
2026-09-04 11:19:16 -07:00
2026-08-26 20:14:26 -07:00
2026-08-26 20:14:26 -07:00
2026-03-27 14:43:52 -07:00
2026-02-28 13:43:55 -08:00
2025-07-01 11:07:51 -07:00
2024-02-07 10:44:11 -08:00
2026-02-17 23:33:39 -08:00
2026-06-29 14:39:13 -07:00
2026-02-19 16:45:51 -08:00
2026-08-26 21:52:40 -07:00
2026-08-26 21:52:40 -07:00
2026-08-26 21:52:40 -07:00
2026-04-07 16:34:24 -07:00
2026-09-11 04:44:59 -07:00
2026-09-11 04:44:59 -07:00
2026-09-11 04:44:59 -07:00
2026-08-05 13:21:37 -07:00
2026-08-26 20:14:26 -07:00
2026-02-17 23:33:39 -08:00
2025-03-04 17:44:01 -08:00
2025-03-04 17:44:01 -08:00
2024-10-25 09:32:14 -07:00
2026-09-11 04:44:59 -07:00
2026-10-01 09:28:24 -07:00
2026-09-28 12:04:07 -07:00
2024-11-01 10:08:35 -07:00
2024-06-18 10:51:29 -07:00
2026-08-26 20:14:26 -07:00
2026-07-15 13:34:03 -07:00
2026-07-15 13:34:03 -07:00
2026-09-30 14:55:26 -07:00
2026-08-22 12:17:33 -07:00
2026-04-14 19:07:29 -07:00
2026-07-01 14:05:36 -07:00
2026-07-22 16:01:44 -07:00
2026-09-11 04:44:59 -07:00
2026-09-29 17:31:56 -07:00
2026-09-30 14:55:26 -07:00
2026-09-16 18:10:21 -07:00
2026-06-16 11:20:07 -07:00
2026-03-02 16:18:14 -08:00
2026-09-30 04:40:00 -07:00
2026-09-30 04:40:00 -07:00
2026-08-05 13:21:37 -07:00
2026-09-30 04:40:00 -07:00
2026-09-30 04:40:00 -07:00
2026-08-17 13:47:30 -07:00
2026-04-10 17:04:47 -07:00
2026-08-17 13:47:30 -07:00
2026-02-17 23:33:39 -08:00
2023-04-05 14:42:31 -07:00
2024-01-29 10:38:08 -08:00
2024-12-05 15:00:17 -08:00
2026-04-08 18:58:40 -07:00