-
-
Notifications
You must be signed in to change notification settings - Fork 43
feat: cluster without epmd (epmdless) #191
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
|
@mhanberg thanks this is great, TIL about |
|
I'm checking this out, and:
I'll try to fix all those |
|
I think short names is preferred when you are only clustering with local nodes, at which is what I read and why I made the changes (as well as that one issue you mentioned). So you're saying the server and engine aren't connecting for you? |
|
With short names, I still connected like this in Next LS {:ok, host} = :inet.gethostname()
node = :"#{sname}@#{host}" |
yes, which is rather odd, we're starting the net kernel explicitly with |
I'm doing the same locally and it works, I was wondering if it'd work on your end given the fully qualified hostnames issues you were seeing |
|
I think that issue is more about using long names and it being an ip address, but I could be mistaken. |
|
Also to clarify, I don't remember actually if I ever got the FQDN thing, but I definitely made the issue after another user posting a similar issue. |
Using `:swarm` causes the store to not be discoverable by the GenServer apis. I'm not sure this is the right way to go, but it seems to work when I build a release and a lot of tests got fixed.
Forge gets compiled as :dev even in tests for both engine and expert, so we need to make the clustering method configurable. Furthermore, the engine and expert have different requirements for how the store is clustered, so we need to set different values for both.
|
I'm opening this up for review, I think I fixed the all the test issues, and I got Expert to work properly on my machine. |
You're a beast 🙌🏻 I'll be able to test on my work computer this weekend when I get home from traveling. |
|
Going to close this as #205 is going to supersede it. |
This reverts the revert of the epmdless pr, and introduces the swarm library to fix the "noproc" problems faced because the epmdless makes the engine node
a "hidden" node, which precludes the usage of
:global.Currently the tests are not passing, I'm trying to figure that out.
But, I am able to build a local release and it "all works" on my personal linux desktop. I will try soon with my work laptop, which usually has more IT hurdles that cause the need for epmdless.
cc @doorgan I'm going to a conference this week, so please feel free to pull this down to see if you can get the tests working (and also let me know what you think). The code currently has lots of dbg expressions everywhere.