From 48a0c860930ea04b3fccab7968c199b20de727de Mon Sep 17 00:00:00 2001 From: "jason.woltje" Date: Sat, 25 Jul 2026 22:26:38 +0000 Subject: [PATCH] fix(lease-broker): recovery_runtime_unittest wait_ready() connect-probe (co-equal CI flake, cherry-pick #898) (#900) Co-authored-by: jason.woltje Co-committed-by: jason.woltje --- .../mosaic/src/lease-broker/recovery_runtime_unittest.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/mosaic/src/lease-broker/recovery_runtime_unittest.py b/packages/mosaic/src/lease-broker/recovery_runtime_unittest.py index 1b6d2b6d..cba46257 100644 --- a/packages/mosaic/src/lease-broker/recovery_runtime_unittest.py +++ b/packages/mosaic/src/lease-broker/recovery_runtime_unittest.py @@ -62,8 +62,13 @@ def request(socket_path: Path, value: dict[str, object]) -> dict[str, object]: def wait_ready(process: subprocess.Popen[str], socket_path: Path) -> None: deadline = time.monotonic() + 5.0 while time.monotonic() < deadline: - if socket_path.exists(): + try: + with socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) as probe: + probe.settimeout(0.25) + probe.connect(str(socket_path)) return + except (ConnectionRefusedError, FileNotFoundError): + pass if process.poll() is not None: output = process.stdout.read() if process.stdout is not None else "" raise RuntimeError(f"daemon exited before READY: {output}")