Eric Traut
c1840dc55e
Persist loaded threads before managed daemon shutdown ( #44283 )
...
## Why
Loaded threads, including idle threads whose rollout files are still deferred, need to survive a managed daemon restart. Shutdown must also remain forceable when rollout I/O is blocked.
## What changed
- Add a hidden `--managed-daemon` option for app-server Unix socket transports. After active turns and admitted requests drain, save loaded persistent root threads before exiting.
- Skip ephemeral threads, non-root agent threads, and threads pending unload. Log persistence failures and continue saving other threads.
- Apply shutdown admission checks to thread and turn settings updates, thread deletion, and archiving.
- Keep force signals and daemon shutdown requests responsive during persistence. Return `AppServerExit::Forced` so executables can exit without waiting for runtime teardown.
## Testing
Add integration coverage for resuming active and idle threads after restart, forcing shutdown during active work, and forcing shutdown with a blocked rollout writer. Extend shutdown rejection coverage to deletion and settings updates.
GitOrigin-RevId: 4344e97d39f9f80c5d84c41c17300fd6aa99b4cc
2026-09-09 19:22:22 +00:00
..
2026-08-13 00:30:08 +00:00
2026-09-08 20:37:30 +00:00
2026-09-03 04:38:26 +00:00
2026-09-08 19:56:25 +00:00
2026-08-24 21:39:48 +00:00
2026-08-10 22:39:29 +00:00
2026-09-08 20:37:30 +00:00
2026-07-09 00:17:38 +00:00
2026-09-09 03:17:48 +00:00
2026-09-05 13:02:49 +00:00
2026-08-29 03:04:26 +00:00
2026-07-08 00:15:49 +00:00
2026-08-21 20:15:23 +00:00
2026-09-09 18:04:04 +00:00
2026-09-03 02:09:10 +00:00
2026-09-04 18:30:26 +00:00
2026-09-04 18:30:26 +00:00
2026-09-09 17:45:17 +00:00
2026-09-09 19:22:22 +00:00
2026-09-07 00:00:23 +00:00
2026-08-27 08:44:54 +00:00
2026-08-13 21:53:52 +00:00
2026-09-04 21:17:25 +00:00
2026-09-09 19:22:22 +00:00
2026-08-27 00:02:26 +00:00
2026-09-08 20:37:30 +00:00
2026-07-15 05:21:13 +00:00
2026-08-24 06:43:07 +00:00
2026-07-14 01:49:16 +00:00
2026-06-27 19:34:10 +00:00
2026-08-24 06:43:07 +00:00
2026-08-24 23:00:57 +00:00
2026-08-25 17:55:50 +00:00
2026-08-17 12:26:59 +00:00
2026-09-03 06:02:25 +00:00
2026-07-31 16:17:44 +00:00
2026-09-01 16:49:16 +00:00
2026-07-08 00:15:49 +00:00
2026-09-02 22:45:19 +00:00
2026-09-08 20:37:30 +00:00
2026-09-08 20:37:30 +00:00
2026-09-09 17:59:10 +00:00
2026-09-09 18:40:53 +00:00
2026-09-08 20:37:30 +00:00
2026-09-09 18:04:04 +00:00
2026-09-02 09:12:17 +00:00
2026-09-05 12:08:18 +00:00
2026-07-15 20:59:21 +00:00
2026-09-09 00:34:45 +00:00
2026-08-04 15:23:43 +00:00
2026-09-02 21:01:04 +00:00
2026-07-23 15:32:36 +00:00
2026-08-25 19:38:39 +00:00
2026-09-01 22:37:26 +00:00
2026-08-20 17:49:35 +00:00
2026-08-18 18:01:39 +00:00
2026-09-08 16:24:38 +00:00
2026-09-01 22:16:54 +00:00
2026-09-03 18:36:58 +00:00
2026-09-04 19:19:04 +00:00
2026-09-08 12:58:11 +00:00
2026-09-08 14:23:23 +00:00
2026-08-26 18:42:44 +00:00
2026-09-09 19:22:22 +00:00
2026-08-18 06:22:04 +00:00
2026-09-08 20:37:30 +00:00
2026-08-14 01:23:59 +00:00
2026-09-08 20:37:30 +00:00
2026-09-08 20:37:30 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-07-22 16:30:12 +00:00
2026-09-03 18:20:59 +00:00
2026-09-01 20:18:10 +00:00
2026-08-28 00:07:32 +00:00
2026-09-01 00:50:11 +00:00
2026-09-01 16:58:54 +00:00
2026-07-29 01:16:29 +00:00
2026-08-12 13:33:01 +00:00
2026-08-08 16:58:26 +00:00
2026-09-04 21:17:25 +00:00
2026-07-22 16:30:12 +00:00
2026-09-02 21:50:51 +00:00
2026-09-02 22:30:30 +00:00
2026-08-18 05:42:39 +00:00
2026-09-04 03:40:37 +00:00
2026-09-08 16:24:38 +00:00
2026-09-02 17:27:50 +00:00
2026-08-20 07:03:02 +00:00
2026-08-20 19:19:41 +00:00
2026-09-08 20:37:30 +00:00
2026-09-03 19:36:11 +00:00
2026-08-25 18:14:32 +00:00
2026-08-26 18:42:44 +00:00
2026-09-03 01:33:32 +00:00
2026-08-20 08:10:08 +00:00
2026-09-09 00:25:02 +00:00
2026-07-22 16:30:12 +00:00
2026-09-02 14:14:44 +00:00
2026-08-28 12:40:10 +00:00
2026-08-23 03:25:56 +00:00
2026-07-23 23:18:06 +00:00
2026-09-02 23:41:14 +00:00
2026-09-08 20:37:30 +00:00
2026-09-03 06:02:25 +00:00
2026-09-09 17:55:00 +00:00
2026-09-03 06:02:25 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 19:19:35 +00:00
2026-09-04 21:17:25 +00:00
2026-05-12 18:40:53 -07:00
2026-09-01 22:56:18 +00:00
2026-09-08 16:24:38 +00:00
2026-09-08 16:24:38 +00:00
2026-09-08 20:37:30 +00:00
2026-09-09 00:25:02 +00:00
2026-08-10 23:32:42 +00:00
2026-09-08 20:37:30 +00:00
2026-08-28 18:07:40 +00:00
2026-09-03 06:02:25 +00:00
2026-08-20 07:03:02 +00:00
2026-09-08 16:24:38 +00:00
2026-09-08 16:24:38 +00:00
2026-09-02 18:18:54 +00:00
2026-09-08 20:37:30 +00:00
2026-08-20 17:46:05 +00:00
2026-09-09 17:56:33 +00:00
2026-08-20 18:29:35 +00:00
2026-09-09 17:56:33 +00:00
2026-08-20 17:46:05 +00:00
2026-09-07 17:26:10 +00:00
2026-09-08 21:48:53 +00:00
2026-09-08 20:37:30 +00:00
2026-07-23 00:02:15 +00:00
2026-07-08 00:15:49 +00:00