Eric Traut
c365b8a4ab
Reduce archive rollout lookup CPU ( #27276 )
...
## Why
Archiving a thread can spike app-server CPU when the state DB does not
have a usable rollout path. The archive path falls back to locating the
rollout by thread id; because rollout filenames already contain the
UUID, the cheap fallback should find the file directly before invoking
broader file search.
## What Changed
- In `codex-rs/rollout/src/list.rs`, try the exact rollout filename
lookup before `codex-file-search`.
- Keep fuzzy search as the final legacy fallback when no filename match
is found.
- Preserve the legacy fallback when the filename scan hits a traversal
error, so an inaccessible stale subtree does not block lookup elsewhere.
## Verification
- `just test -p codex-rollout`
- `just test -p codex-thread-store`
- `just test -p codex-app-server thread_archive`
2026-06-10 09:28:12 -07:00
..
2026-06-08 11:39:08 +02:00
2026-06-09 12:48:04 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-04-28 12:35:00 -07:00
2026-06-09 20:52:09 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 12:54:21 +02:00
2026-06-09 13:26:00 -07:00
2026-05-25 09:41:12 -07:00
2026-06-10 08:47:16 -07:00
2026-05-28 14:54:39 -07:00
2026-06-05 22:54:57 -07:00
2026-06-01 18:45:07 +00:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-05-08 04:07:59 +00:00
2026-06-05 14:43:44 +00:00
2026-05-05 22:22:01 -07:00
2026-06-09 22:44:16 +02:00
2026-06-08 15:43:08 -07:00
2026-06-02 16:41:48 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-05-07 15:44:17 -07:00
2026-06-04 09:39:20 -07:00
2026-06-07 23:18:23 -07:00
2026-06-01 21:25:42 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 08:33:21 -07:00
2026-05-07 15:44:17 -07:00
2026-06-10 12:54:21 +02:00
2026-05-28 22:08:05 -07:00
2026-06-03 13:32:55 +02:00
2026-06-10 08:47:16 -07:00
2026-06-09 00:38:35 +00:00
2026-06-09 12:52:05 -07:00
2026-06-09 19:51:54 +02:00
2026-06-05 15:41:13 -07:00
2026-06-09 12:27:10 -07:00
2026-06-09 15:10:17 -07:00
2026-06-07 17:35:33 -07:00
2026-06-07 17:35:33 -07:00
2026-06-10 14:31:09 +02:00
2026-06-04 14:16:03 -04:00
2026-06-08 14:16:32 -04:00
2026-06-10 12:54:21 +02:00
2026-05-26 15:59:25 -07:00
2026-05-07 15:44:17 -07:00
2026-06-01 11:53:31 -07:00
2026-05-28 23:09:55 -07:00
2026-06-08 21:32:46 -07:00
2026-06-02 13:18:59 -07:00
2026-06-03 19:08:19 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:34:36 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 17:36:18 -07:00
2026-06-09 12:14:48 +02:00
2026-06-10 08:47:16 -07:00
2026-06-04 09:53:08 -04:00
2026-06-09 23:49:09 +00:00
2026-06-05 17:36:18 -07:00
2026-06-05 17:36:18 -07:00
2026-06-09 13:08:01 -07:00
2026-06-04 09:53:08 -04:00
2026-06-08 22:29:51 +00:00
2026-05-21 16:11:59 -07:00
2026-05-25 17:26:10 -03:00
2026-06-03 13:32:55 +02:00
2026-06-10 08:47:16 -07:00
2026-05-07 15:44:17 -07:00
2026-04-22 22:24:12 -07:00
2026-05-07 15:44:17 -07:00
2026-06-09 15:49:48 -07:00
2026-06-10 09:28:12 -07:00
2026-06-09 12:14:48 +02:00
2026-06-08 14:03:37 -07:00
2026-05-26 20:59:47 -07:00
2026-05-07 15:44:17 -07:00
2026-06-05 09:38:26 -07:00
2026-05-07 15:44:17 -07:00
2026-05-28 15:11:11 +00:00
2026-06-09 18:45:54 -07:00
2026-05-07 15:44:17 -07:00
2026-05-13 21:23:19 +00:00
2026-05-07 15:44:17 -07:00
2026-06-10 12:54:21 +02:00
2026-06-10 08:47:16 -07:00
2026-06-08 23:07:56 +00:00
2026-06-10 11:45:49 +02:00
2026-05-07 15:44:17 -07:00
2026-06-10 08:51:17 -07:00
2026-05-18 21:33:05 -07:00
2026-05-06 18:10:30 +00:00
2026-06-04 16:52:10 -07:00
2026-04-24 17:49:29 -07:00
2026-06-10 14:31:09 +02:00
2026-06-09 22:44:16 +02:00
2026-04-20 22:41:54 -07:00
2026-02-20 19:32:15 -08:00
2026-06-08 11:39:08 +02:00
2026-06-04 09:16:03 -07:00
2026-05-26 20:59:47 -07:00