Coerce IPC `addr` to `tuple` in `.delete_addr()`

`msgpack` deserializes tuples as lists over IPC so
the `bidict.inverse.pop()` needs a `tuple`-cast to
match registry keys.

Regressed-by: 85457cb (`registry_addrs` change)
Found-via: `/run-tests` test_stale_entry_is_deleted

(this patch was generated in some part by [`claude-code`][claude-code-gh])
[claude-code-gh]: https://github.com/anthropics/claude-code
multicast_revertable_streams
Gud Boi 2026-03-25 01:36:58 -04:00
parent 85457cb839
commit b557ec20a7
1 changed files with 4 additions and 1 deletions

View File

@ -2044,8 +2044,11 @@ class Arbiter(Actor):
self,
addr: tuple[str, int|str],
) -> tuple[str, str]|None:
# NOTE: `addr` arrives as a `list` over IPC
# (msgpack deserializes tuples -> lists) so
# coerce to `tuple` for the bidict hash lookup.
uid: tuple | None = self._registry.inverse.pop(
addr,
tuple(addr),
None,
)
if uid: