Allows us to avoid all this UwrappedAddress malarky from before we
adopted msgspec internally and would mean simplifying a variety of
internals finagling (in which there is currently a bug for
non-registrar root actors, see below).
Current root-actor bug
Rn if you spawn a non-registrar root, whenever it spawns a child the
child will at least crash when trying to acquire the inter-actor
debugger-REPL lock due to the ._state._runtime_vars['_root_addrs']
value(s) being of the wrong type.
This is due to the setup logic in ._root.open_root_actor() for that
case wherein we aren't able to just verbatim set the Actor.accept_addrs
to the registrar addrs; currently the Address form is being set in
the rtvs, and when a child is spawned they receive a dict-ified
form of say TCPAddress (due to msgspec.decode() default settings
for the type) which then can't be used when an API like
._discovery.get_root() is called, as it is for crash handling..
ToDos to prevent this issue going foward
Full short-term fix (set) was landed in, #412
Ideal long term soln?
Allows us to avoid all this
UwrappedAddressmalarky from before weadopted
msgspecinternally and would mean simplifying a variety ofinternals finagling (in which there is currently a bug for
non-registrar root actors, see below).
Current root-actor bug
Rn if you spawn a non-registrar root, whenever it spawns a child the
child will at least crash when trying to acquire the inter-actor
debugger-REPL lock due to the
._state._runtime_vars['_root_addrs']value(s) being of the wrong type.
This is due to the setup logic in
._root.open_root_actor()for thatcase wherein we aren't able to just verbatim set the
Actor.accept_addrsto the registrar addrs; currently the
Addressform is being set inthe rtvs, and when a child is spawned they receive a
dict-ifiedform of say
TCPAddress(due tomsgspec.decode()default settingsfor the type) which then can't be used when an API like
._discovery.get_root()is called, as it is for crash handling..ToDos to prevent this issue going foward
term solution is implemented)!
-> cdcc1b4
https://github.com/goodboy/tractor/tree/root_actor_raddrs_fix)
which should mk the above test (once added) pass!
-> 8aee24e
Full short-term fix (set) was landed in, #412
Ideal long term soln?
Addresses to our built-in msgspecsuch that we can remove all the
._addr.UnwrappedAddressstuff?SC-enforcing-IPC, do we want a less-
msgspec.Structspecificform, like the unwrapped versions?
Addressform as provided by any user code?
multiaddr?see,