Chris Lu
34f5442e9b
s3api: push the listing prefix down to the filer in ListObjectVersions ( #11070 )
...
The version walk listed every directory with no prefix, transferring
all 1024-entry batches over gRPC and filtering gateway-side - and kept
paging past the point where names can no longer match. On wide
directories (many sibling orgs/jobs next to the requested prefix) that
is most of the transfer, decode, and CPU cost of every page.
Derive the next path component of the requested prefix per directory
level and hand it to the filer listing. A name holds no slash, so a
directory whose name does not start with the component cannot contain
a matching key and a file that does not cannot be one; stores with
native prefixed listing (sql, leveldb) turn this into a range scan and
stop the stream at the end of the prefix zone.
Claude-Session: https://claude.ai/code/session_01FquvGtTD2zA3uMZGQHAuV4
2026-09-01 10:37:52 -07:00
..
2026-01-28 14:34:07 -08:00
2026-08-27 16:23:51 -07:00
2026-08-23 11:49:52 -07:00
2026-08-21 23:42:26 -07:00
2026-04-20 12:04:41 -07:00
2026-08-24 00:52:01 -07:00
2026-08-31 10:24:22 -07:00
2026-03-07 09:19:40 -08:00
2026-05-31 11:15:05 -07:00
2026-08-24 00:52:01 -07:00
2026-08-21 23:42:26 -07:00
2026-08-27 22:29:48 -07:00
2026-07-02 21:11:41 -07:00
2026-08-03 12:45:42 -07:00
2026-07-31 19:51:03 -07:00
2026-08-25 15:31:32 -07:00
2026-05-18 21:35:53 -07:00
2026-07-29 10:30:30 -07:00
2026-07-29 10:30:30 -07:00
2026-07-29 10:30:30 -07:00
2026-08-21 22:32:47 -07:00
2026-02-20 18:40:47 -08:00
2026-08-24 00:52:01 -07:00
2026-01-12 10:45:24 -08:00
2026-08-26 10:09:05 -07:00
2026-05-28 18:10:24 -07:00
2026-07-10 12:17:35 -07:00
2026-07-09 02:34:13 -07:00
2026-07-02 09:14:54 -07:00
2026-08-26 10:09:05 -07:00
2026-06-20 08:28:40 -07:00
2026-08-24 18:39:30 -07:00
2026-06-14 13:55:11 -07:00
2026-08-26 10:09:05 -07:00
2026-04-17 12:20:28 -07:00
2026-08-26 10:09:05 -07:00
2026-02-16 13:59:13 -08:00
2026-04-17 12:23:21 -07:00
2026-08-17 14:46:25 -07:00
2026-07-22 14:38:06 -07:00
2026-08-05 13:15:28 -07:00
2026-08-04 16:00:04 -07:00
2026-08-19 22:59:56 -07:00
2026-08-09 00:00:19 -07:00
2026-08-09 00:00:19 -07:00
2025-08-11 10:31:01 -07:00
2026-06-10 00:30:43 -07:00
2026-06-10 00:30:43 -07:00
2026-06-11 21:56:16 -07:00
2026-07-05 20:19:20 -07:00
2026-07-05 20:19:20 -07:00
2026-05-01 01:14:15 -07:00
2026-07-27 17:48:20 -07:00
2026-07-05 20:19:20 -07:00
2026-07-23 17:44:02 -07:00
2026-07-23 17:44:02 -07:00
2026-08-28 16:12:09 -07:00
2026-08-28 14:30:21 -07:00
2026-08-27 22:30:53 -07:00
2026-01-07 13:06:08 -08:00
2026-08-28 14:30:21 -07:00
2026-08-08 21:24:30 -07:00
2026-02-18 18:20:03 -08:00
2026-06-02 14:45:45 -07:00
2026-05-19 13:03:30 -07:00
2026-02-19 22:52:05 -08:00
2026-06-09 00:48:38 -07:00
2024-07-04 11:00:41 -07:00
2026-08-31 10:24:22 -07:00
2026-08-31 10:24:22 -07:00
2026-04-03 16:04:27 -07:00
2025-12-27 12:25:33 -08:00
2026-07-07 12:36:47 -07:00
2026-08-31 10:24:22 -07:00
2026-08-27 22:30:53 -07:00
2026-01-07 13:06:08 -08:00
2025-11-13 16:10:46 -08:00
2026-07-10 12:14:18 -07:00
2026-07-08 01:53:37 -07:00
2026-07-27 17:48:20 -07:00
2025-08-30 11:15:48 -07:00
2026-04-17 12:23:21 -07:00
2025-11-13 16:10:46 -08:00
2025-12-26 13:21:15 -08:00
2026-04-03 16:04:27 -07:00
2025-11-18 23:18:35 -08:00
2026-05-04 19:14:41 -07:00
2026-07-27 17:48:20 -07:00
2026-04-29 10:06:51 -07:00
2026-04-26 16:31:42 -07:00
2026-05-04 19:21:41 -07:00
2025-11-18 23:18:35 -08:00
2026-07-23 17:44:02 -07:00
2025-10-23 20:10:12 -07:00
2025-11-18 23:18:35 -08:00
2025-12-23 14:48:50 -08:00
2026-05-04 19:14:41 -07:00
2026-05-04 19:14:41 -07:00
2026-08-04 16:00:04 -07:00
2026-06-14 13:54:49 -07:00
2026-08-27 16:46:46 -07:00
2025-12-30 12:40:59 -08:00
2026-07-02 21:11:34 -07:00
2026-05-19 17:34:51 -07:00
2026-07-02 21:11:34 -07:00
2026-08-24 00:52:01 -07:00
2025-10-29 13:43:27 -07:00
2026-07-27 16:42:01 -07:00
2026-08-14 10:58:45 -07:00
2026-08-19 20:09:23 -07:00
2026-02-07 13:27:47 -08:00
2026-08-28 16:32:30 -07:00
2026-08-21 23:42:26 -07:00
2026-07-02 21:11:34 -07:00
2025-08-21 08:28:07 -07:00
2026-07-02 21:11:41 -07:00
2026-08-28 14:30:21 -07:00
2026-02-12 23:11:41 -08:00
2026-07-26 00:52:22 -07:00
2026-03-27 23:15:01 -07:00
2026-08-24 00:52:01 -07:00
2026-08-24 00:52:01 -07:00
2026-08-19 20:09:23 -07:00
2025-08-21 08:28:07 -07:00
2026-07-21 08:59:40 -07:00
2026-07-21 08:59:40 -07:00
2026-06-16 16:29:30 -07:00
2026-06-16 16:29:30 -07:00
2026-04-03 16:04:27 -07:00
2026-07-14 11:53:53 -07:00
2026-06-22 22:19:24 -07:00
2026-08-28 14:30:21 -07:00
2025-10-24 01:45:22 -07:00
2026-08-05 17:08:21 -07:00
2026-07-23 17:44:02 -07:00
2026-07-02 09:14:54 -07:00
2026-05-19 17:35:44 -07:00
2026-08-05 17:08:21 -07:00
2026-08-26 10:05:49 -07:00
2026-02-03 11:55:12 -08:00
2026-08-28 16:32:30 -07:00
2026-08-28 16:32:30 -07:00
2026-08-27 22:26:15 -07:00
2026-05-05 11:26:08 -07:00
2026-08-16 12:57:12 -07:00
2026-08-16 12:57:12 -07:00
2026-02-07 13:27:47 -08:00
2026-05-19 16:03:45 -07:00
2026-05-10 09:39:05 -07:00
2026-08-28 14:30:21 -07:00
2026-01-07 13:06:08 -08:00
2026-08-24 16:14:52 -07:00
2026-06-11 21:56:16 -07:00
2026-04-26 16:31:42 -07:00
2026-08-28 16:12:09 -07:00
2026-01-22 16:56:35 -08:00
2026-07-15 02:31:51 -07:00
2026-07-15 02:31:51 -07:00
2026-07-21 00:08:05 -07:00
2026-08-27 11:56:33 -07:00
2026-05-10 12:08:06 -07:00
2026-05-10 14:55:59 -07:00
2026-06-14 00:16:14 -07:00
2026-05-10 13:34:25 -07:00
2026-08-19 20:07:57 -07:00
2026-08-26 10:05:49 -07:00
2026-06-22 22:19:24 -07:00
2026-08-28 14:30:21 -07:00
2026-08-05 20:29:28 -07:00
2026-07-22 14:38:06 -07:00
2026-08-05 20:29:28 -07:00
2026-08-28 16:12:09 -07:00
2026-08-28 14:30:21 -07:00
2026-08-28 14:30:21 -07:00
2026-08-24 15:10:34 -07:00
2026-01-17 18:40:48 -08:00
2026-08-10 11:04:06 -07:00
2026-08-05 00:24:54 -07:00
2026-07-09 00:22:34 -07:00
2026-08-08 20:24:44 -07:00
2026-07-30 12:57:31 -07:00
2026-08-24 15:10:34 -07:00
2026-08-28 16:12:09 -07:00
2026-07-02 21:11:34 -07:00
2026-08-24 18:39:30 -07:00
2026-04-14 21:52:49 -07:00
2026-07-25 11:30:02 -07:00
2026-07-31 19:43:45 -07:00
2026-08-28 14:30:21 -07:00
2026-08-08 21:24:30 -07:00
2026-08-28 14:30:21 -07:00
2025-07-19 00:49:56 -07:00
2026-07-15 02:31:51 -07:00
2026-08-27 16:25:56 -07:00
2026-07-02 21:11:34 -07:00
2026-05-08 21:35:27 -07:00
2026-07-02 21:11:34 -07:00
2025-07-18 22:25:58 -07:00
2026-07-02 21:11:34 -07:00
2026-06-22 07:52:01 -07:00
2026-06-09 00:48:38 -07:00
2026-08-27 16:35:45 -07:00
2026-06-03 00:12:28 -07:00
2026-08-28 16:32:30 -07:00
2026-08-23 11:30:43 -07:00
2026-08-28 16:32:30 -07:00
2026-08-24 15:10:34 -07:00
2026-09-01 10:37:52 -07:00
2026-09-01 10:11:09 -07:00
2026-06-01 20:01:30 -07:00
2026-09-01 10:37:52 -07:00
2026-07-21 00:08:05 -07:00
2026-06-11 21:56:16 -07:00
2026-08-27 16:46:46 -07:00
2026-03-28 13:24:11 -07:00
2026-02-16 13:59:13 -08:00
2025-12-09 10:24:35 -08:00
2026-08-21 11:47:53 -07:00
2026-07-29 10:30:46 -07:00
2026-03-09 11:54:32 -07:00
2026-05-18 19:44:19 -07:00
2026-08-26 10:09:05 -07:00
2026-08-09 21:59:42 -07:00
2026-04-25 23:06:37 -07:00
2025-11-18 23:18:35 -08:00
2026-08-24 18:36:46 -07:00
2026-01-07 13:06:08 -08:00
2026-03-30 12:11:30 -07:00
2026-07-31 19:50:59 -07:00
2026-07-29 10:30:30 -07:00
2026-06-24 21:38:21 -07:00
2026-05-05 19:14:44 -07:00
2026-05-05 19:14:44 -07:00
2026-02-23 22:59:53 -08:00
2026-07-31 23:56:04 -07:00
2026-07-31 23:56:04 -07:00
2026-04-02 15:59:09 -07:00
2026-04-02 17:37:05 -07:00
2026-07-31 23:56:04 -07:00
2026-07-31 19:51:03 -07:00
2026-08-16 10:36:59 -07:00
2026-06-24 16:24:45 -07:00
2026-05-19 14:24:25 -07:00
2026-08-16 10:36:59 -07:00
2026-01-07 13:06:08 -08:00
2026-06-11 21:56:16 -07:00
2026-06-11 21:56:16 -07:00
2026-05-13 10:48:58 -07:00
2026-08-27 22:28:25 -07:00
2026-05-13 10:48:58 -07:00
2024-07-04 11:00:41 -07:00
2026-07-02 21:11:41 -07:00
2026-07-23 17:44:02 -07:00
2026-05-13 09:24:59 -07:00
2026-08-24 18:39:30 -07:00
2026-05-04 22:10:49 -07:00
2026-03-06 15:22:39 -08:00
2026-05-04 22:10:49 -07:00
2026-06-23 01:25:32 -07:00
2026-06-23 01:25:32 -07:00