Rasmus Rygaard
eb49f491c6
Add explicit remote executor connection refresh ( #40710 )
...
## Why
Planned executor replacement needs a fresh session without waiting for the old
session's transient-disconnect recovery to finish.
## What changed
- Add `Environment::refresh_connection` for remote Noise registry-backed
environments. It performs a fresh registry lookup, reuses a healthy session
when the executor identity is unchanged, and connects to a replacement when
it has changed.
- Retire superseded sessions and connection attempts so they cannot publish
stale state, accept late RPC results, or replay outstanding work.
- Preserve the existing environment and filesystem handles while replacing the
underlying client, and require a live status probe before refresh succeeds.
## Testing
Add coverage for replacement and session reuse, recovery and connection races,
lookup and handshake failures, handle preservation, and late RPC responses.
GitOrigin-RevId: f1d11208cbfe8af8feb25f6b6b8100da82169a99
2026-08-25 21:23:17 +00:00
..
2026-07-29 13:53:15 +00:00
2026-07-23 19:19:35 +00:00
2026-07-21 22:44:43 +00:00
2026-08-24 22:40:35 +00:00
2026-08-25 10:17:03 +00:00
2026-07-29 13:53:15 +00:00
2026-08-25 20:37:15 +00:00
2026-08-18 23:05:52 +00:00
2026-07-21 08:50:21 +00:00
2026-08-25 19:54:52 +00:00
2026-07-30 19:47:30 +00:00
2026-08-25 03:08:33 +00:00
2026-08-24 21:39:48 +00:00
2026-08-20 08:10:08 +00:00
2026-08-25 07:37:42 +00:00
2026-08-24 21:39:48 +00:00
2026-08-20 19:28:32 +00:00
2026-08-11 03:39:02 +00:00
2026-08-14 05:03:39 +00:00
2026-08-17 22:37:14 +00:00
2026-08-25 20:37:15 +00:00
2026-08-25 16:38:46 +00:00
2026-08-13 19:35:22 +00:00
2026-07-21 08:28:51 +00:00
2026-08-25 20:37:15 +00:00
2026-08-25 20:37:15 +00:00
2026-08-25 20:37:15 +00:00
2026-08-21 16:50:34 +00:00
2026-08-25 19:54:52 +00:00
2026-08-18 23:47:00 +00:00
2026-08-13 23:13:37 +00:00
2026-08-25 21:20:51 +00:00
2026-08-25 20:26:23 +00:00
2026-08-04 22:58:02 +00:00
2026-08-25 20:26:23 +00:00
2026-08-07 00:23:38 +00:00
2026-08-23 18:53:15 +00:00
2026-08-25 21:20:51 +00:00
2026-08-25 21:20:51 +00:00
2026-08-25 20:26:23 +00:00
2026-08-07 11:30:17 +00:00
2026-08-13 00:00:16 +00:00
2026-08-25 19:54:52 +00:00
2026-08-25 21:23:17 +00:00
2026-08-25 18:04:01 +00:00
2026-08-17 04:37:50 +00:00
2026-08-25 21:20:51 +00:00
2026-08-25 17:13:50 +00:00
2026-08-25 19:30:21 +00:00
2026-08-18 21:46:18 +00:00
2026-07-31 21:37:56 +00:00
2026-08-25 18:04:01 +00:00
2026-08-20 08:10:08 +00:00
2026-08-25 01:03:20 +00:00
2026-08-25 10:29:26 +00:00
2026-08-17 00:09:44 +00:00
2026-08-10 22:12:14 +00:00
2026-08-24 00:52:52 +00:00
2026-07-22 04:17:34 +00:00
2026-08-25 21:08:22 +00:00
2026-08-25 03:08:33 +00:00
2026-08-25 10:29:26 +00:00
2026-07-17 20:52:42 +00:00
2026-08-24 21:39:48 +00:00
2026-08-21 19:04:32 +00:00
2026-08-24 21:39:48 +00:00
2026-08-25 18:41:03 +00:00
2026-07-30 04:26:36 +00:00
2026-08-25 17:59:32 +00:00
2026-08-21 21:01:59 +00:00
2026-08-25 15:50:19 +00:00
2026-08-25 19:54:52 +00:00
2026-08-15 01:34:33 +00:00
2026-08-21 16:45:05 +00:00
2026-08-25 20:26:23 +00:00
2026-08-25 19:54:52 +00:00
2026-08-24 17:07:21 +00:00
2026-08-25 05:16:45 +00:00
2026-08-10 15:43:10 +00:00
2026-08-20 17:39:06 +00:00
2026-08-08 16:58:26 +00:00
2026-08-20 06:10:03 +00:00
2026-08-25 20:09:55 +00:00
2026-08-04 03:49:53 +00:00
2026-08-20 18:29:35 +00:00
2026-08-25 19:54:52 +00:00
2026-08-24 11:02:14 +00:00
2026-08-25 21:03:11 +00:00
2026-08-24 19:25:32 +00:00
2026-07-22 16:18:08 +00:00
2026-08-20 14:55:08 +00:00
2026-08-25 18:41:03 +00:00
2026-08-15 14:31:04 +00:00
2026-08-25 15:10:27 +00:00
2026-07-09 17:31:44 -07:00
2026-08-25 20:37:15 +00:00
2026-08-25 15:10:27 +00:00
2026-07-28 20:49:22 +00:00
2026-07-11 03:27:51 +00:00
2026-07-29 13:53:15 +00:00
2026-08-18 22:00:25 +00:00