James Weinkam
James Weinkam
@randysecrist did you find a solution?
@randysecrist We have been using OTP 25 and Elixir 1.14.1 with a forked version of this library. The only change is ```--- a/lib/distillery/releases/assembler.ex +++ b/lib/distillery/releases/assembler.ex @@ -860,15 +860,7 @@ defmodule...
This is using v0.9.0. Version v0.8.7 always gave the expected result. I believe this is related to the change in https://github.com/derekkraan/horde/commit/053e1aea33dc19421b175071b59bc615eec7225b
I am attempting to do ```elixir GenStateMachine.start_link(__MODULE__, args, name: {:via, Horde.Registry, {MyRegistry, "name"}}) ``` This is frequently failing with error message ``` {:error, {:process_not_registered_via, Horde.Registry}} ``` Since internally in GenStateMachine.start_link...
GenStateMachine.start_link, call :gen_statem.start_link, which call :gen.start(?MODULE, link, Module, Args, Opts), when eventually calls :gen.init_it(GenMod, Starter, Parent, Mod, Args, Options). This is in gen.erl at line 188. It calls to register,...
The registry lookup doesn't do a call but instead just reads from ets. Thus the read for ets can happen before the other sends are processed.
I am able to work around the problem by not specifying name: {:via, Horde.Registry, {MyRegistry, "name"}} and instead having my init call Horde.Registry.register(MyRegistry, name, self()). This results in bypassing the...