bitwalker / bitwalker/swarm

Swarm is unresponsive after startup in 24% of cases

Open
#136 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Elixir
Stars
1.3k
Forks
110
PR merge metrics
No merged PRs in 30d

Description

Hello Paul,
I have an Erlang cluster of 3 nodes.
A few seconds after startup my code calls `GenServer.call({:via, :swarm, "echo-be"}, ...` where `"echo-be"` process does not exist yet.
In 24% of new node startups, this leads to `GenServer.call` hanging forever (actually inside `Swarm.whereis_name` called internally), and Swarm never becomes functional on this node.
I'm using Swarm version 3.4.0.

Attached is a full `:erlang.dbg` trace of the `Swarm.Tracker` process where the hang happens:
[repro.log](https://github.com/bitwalker/swarm/files/3882072/small_repro.log)

I would appreciate it if you investigate this issue and come up with a fix or a workaround. We were very close to adopting Swarm before this issue was discovered.

Please let me know if you need any additional information/traces. I can reliably repro this.

Thank you, Dmitry.

P.S. The 24% number was derived from 910 test runs, where only 691 were successful (no hang).

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.