jif
d28be12577
Honor per-thread unload delays in app-server ( #55270 )
...
## Why
Thread unload timing used the server-wide delay, ignoring per-thread configuration overrides. Clients need to control how long individual idle, unsubscribed threads remain loaded.
## What changed
- Resolve unload timing from each loaded thread's `thread_unload_delay_secs` configuration. Setting it to `0` allows immediate unloading once the thread has no subscribers or activity.
- Allow this runtime retention override in `experimentalPredictionMode` forks while continuing to reject other configuration overrides. Reject negative values and delays too large to schedule.
- Replace the source-specific immediate-unload behavior with explicit configuration.
## Testing
Extend integration coverage for per-thread delays, unloading after active turns finish, fork overrides, and invalid prediction-fork delays. Verify that immediate unloading preserves persistent history and that cold resumes and ordinary nested forks use their default delay instead of retaining the previous runtime's override.
GitOrigin-RevId: fcb82bd73a101260c51e2a8476f94320c23ac929
2026-10-19 12:30:33 +00:00
..
2026-10-06 21:29:35 +00:00
2026-09-29 14:46:33 +00:00
2026-09-23 00:49:19 +00:00
2026-09-23 00:47:07 +00:00
2026-10-15 03:06:16 +00:00
2026-09-21 13:27:39 +00:00
2026-10-08 21:18:24 +00:00
2026-10-10 19:43:24 +00:00
2026-10-10 19:43:24 +00:00
2026-09-24 00:50:02 +00:00
2026-09-23 00:47:07 +00:00
2026-09-24 18:38:00 +00:00
2026-09-29 22:24:09 +00:00
2026-07-09 00:17:38 +00:00
2026-10-01 02:06:05 +00:00
2026-10-07 18:32:50 +00:00
2026-09-09 03:17:48 +00:00
2026-10-14 17:39:43 +00:00
2026-10-06 17:10:19 +00:00
2026-07-08 00:15:49 +00:00
2026-10-05 23:52:06 +00:00
2026-10-13 14:17:41 +00:00
2026-09-10 21:41:39 +00:00
2026-10-06 03:35:55 +00:00
2026-10-06 03:35:55 +00:00
2026-09-11 12:37:04 +00:00
2026-10-06 03:35:55 +00:00
2026-10-06 03:35:55 +00:00
2026-10-06 03:35:55 +00:00
2026-09-10 13:02:57 +00:00
2026-10-17 23:34:04 +00:00
2026-10-09 23:16:46 +00:00
2026-09-29 22:24:09 +00:00
2026-10-01 15:57:03 +00:00
2026-08-13 21:53:52 +00:00
2026-09-30 19:21:02 +00:00
2026-10-11 15:48:35 +00:00
2026-08-27 00:02:26 +00:00
2026-09-14 23:25:09 +00:00
2026-07-15 05:21:13 +00:00
2026-10-08 19:13:52 +00:00
2026-10-08 19:13:52 +00:00
2026-06-27 19:34:10 +00:00
2026-10-10 19:43:24 +00:00
2026-10-08 19:21:57 +00:00
2026-09-17 01:28:24 +00:00
2026-10-13 22:21:31 +00:00
2026-10-07 23:19:26 +00:00
2026-10-13 16:15:41 +00:00
2026-07-31 16:17:44 +00:00
2026-10-07 11:18:05 +00:00
2026-07-08 00:15:49 +00:00
2026-10-15 03:06:16 +00:00
2026-09-11 21:32:04 +00:00
2026-09-10 16:01:02 +00:00
2026-09-16 10:11:26 +00:00
2026-09-30 11:58:03 +00:00
2026-10-08 10:42:28 +00:00
2026-09-08 20:37:30 +00:00
2026-10-01 01:13:29 +00:00
2026-09-27 22:05:19 +00:00
2026-09-27 20:15:23 +00:00
2026-10-09 20:14:04 +00:00
2026-10-13 18:08:10 +00:00
2026-10-14 02:01:49 +00:00
2026-10-16 14:38:19 +00:00
2026-07-15 20:59:21 +00:00
2026-10-15 21:30:56 +00:00
2026-09-22 06:36:09 +00:00
2026-09-02 21:01:04 +00:00
2026-07-23 15:32:36 +00:00
2026-10-07 23:19:26 +00:00
2026-09-01 22:37:26 +00:00
2026-08-20 17:49:35 +00:00
2026-09-09 22:22:08 +00:00
2026-09-22 10:42:50 +00:00
2026-10-10 19:43:24 +00:00
2026-10-10 19:43:24 +00:00
2026-10-10 19:43:24 +00:00
2026-10-10 19:43:24 +00:00
2026-09-08 12:58:11 +00:00
2026-09-08 14:23:23 +00:00
2026-10-06 01:26:11 +00:00
2026-10-17 23:34:04 +00:00
2026-08-18 06:22:04 +00:00
2026-10-15 03:06:16 +00:00
2026-10-15 03:06:16 +00:00
2026-10-02 22:55:08 +00:00
2026-09-23 00:49:19 +00:00
2026-10-06 10:39:16 +00:00
2026-10-08 21:18:24 +00:00
2026-07-22 16:30:12 +00:00
2026-09-11 00:03:40 +00:00
2026-07-22 16:30:12 +00:00
2026-10-10 19:43:24 +00:00
2026-10-16 14:38:19 +00:00
2026-09-28 23:32:45 +00:00
2026-10-08 18:42:58 +00:00
2026-09-17 23:47:06 +00:00
2026-09-17 04:23:45 +00:00
2026-09-25 08:25:37 +00:00
2026-08-12 13:33:01 +00:00
2026-09-23 18:25:07 +00:00
2026-10-07 06:07:47 +00:00
2026-09-14 22:31:32 +00:00
2026-09-23 00:47:07 +00:00
2026-09-25 00:20:02 +00:00
2026-10-14 17:39:43 +00:00
2026-10-15 10:46:59 +00:00
2026-09-24 12:26:05 +00:00
2026-09-23 00:47:07 +00:00
2026-10-08 22:42:12 +00:00
2026-10-08 06:31:56 +00:00
2026-10-01 05:33:36 +00:00
2026-08-20 07:03:02 +00:00
2026-09-14 23:25:09 +00:00
2026-09-08 20:37:30 +00:00
2026-09-12 00:12:26 +00:00
2026-10-14 15:22:02 +00:00
2026-10-09 01:22:30 +00:00
2026-09-24 20:28:31 +00:00
2026-09-29 15:10:17 +00:00
2026-08-20 08:10:08 +00:00
2026-09-09 00:25:02 +00:00
2026-09-10 13:02:57 +00:00
2026-10-06 21:29:35 +00:00
2026-09-16 01:16:35 +00:00
2026-10-07 06:07:47 +00:00
2026-10-09 01:22:30 +00:00
2026-10-01 20:47:05 +00:00
2026-09-22 11:10:53 +00:00
2026-09-02 23:41:14 +00:00
2026-09-08 20:37:30 +00:00
2026-10-19 12:30:33 +00:00
2026-10-09 16:58:24 +00:00
2026-10-10 01:25:00 +00:00
2026-10-09 01:22:30 +00:00
2026-07-22 16:30:12 +00:00
2026-07-23 19:19:35 +00:00
2026-10-07 06:07:47 +00:00
2026-10-01 00:57:29 +00:00
2026-05-12 18:40:53 -07:00
2026-10-06 16:56:39 +00:00
2026-10-09 03:42:19 +00:00
2026-10-09 16:50:24 +00:00
2026-10-12 16:49:29 +00:00
2026-10-15 21:30:56 +00:00
2026-09-25 17:57:32 +00:00
2026-08-10 23:32:42 +00:00
2026-09-16 16:46:34 +00:00
2026-08-28 18:07:40 +00:00
2026-09-29 18:50:36 +00:00
2026-09-22 06:36:09 +00:00
2026-10-06 16:56:39 +00:00
2026-10-09 01:22:30 +00:00
2026-10-06 17:10:19 +00:00
2026-10-19 12:30:33 +00:00
2026-09-23 00:49:19 +00:00
2026-09-17 21:25:34 +00:00
2026-09-09 17:56:33 +00:00
2026-10-14 17:39:43 +00:00
2026-10-14 17:39:43 +00:00
2026-10-10 19:43:24 +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-09-24 19:29:53 +00:00
2026-10-13 23:59:56 +00:00