Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Closes #108
Should fix #59
Removes the usage of EPMD, and instead uses a custom EPMD module that provides an epmd port that project nodes use to connect to the manager node directly, instead of relying on epmd to resolve the names to ports.
There is one caveat to this implementation: while it works fairly well, we're still using the ETS search store, which implements a WAL that only supports writes from a single node. We're currently relying on EPMD to let other project nodes discover who is the current wal leader so we can ensure there is always a single writer for the WAL. With this change, we can end up with multiple writers if you open the same project with multiple editors which can lead to issues. I didn't observe problems so far in my tests with multiple editors but it's still something that needs to be changed.
There are two ways to solve that problem: switch to sqlite(we've been wanting to do this for a while), or do something similar to what livebook does to discover the runtime nodes.