[erlang-questions] Idea for deprecating EPMD
Wed Dec 9 19:57:53 CET 2015
On 12/08/2015 03:57 PM, Geoff Cant wrote:
> Hi all, I find EPMD to be a regular frustration when deploying and operating Erlang systems. EPMD is a separate service that needs to be running for Erlang distribution to work properly, and usually (in systems that don’t use distribution for their main function) it's not set up right, and you only notice in production because the only time you use for distribution is to get a remote shell (over localhost). (Maybe I’m just bad at doing this, but I do it a lot)
> Erlang node names already encode host information — ‘descriptive_name@REDACTED’. If we include the erlang distribution listen port too, that would remove the need for EPMD. For example: ‘descriptive_name@REDACTED:distribution_port’. Node names using this scheme would skip the EPMD step, otherwise erlang distribution would fall back to the current system.
> My questions for the list are:
> * Are you annoyed by epmd too?
> * Do you think this idea is worth me writing up into an EEP or writing a pull request?
> * Do you think this idea is unworkable for some reason I’m overlooking?
The problem seems to be that epmd is a separate OS process. That is already being addressed in the pull request https://github.com/erlang/otp/pull/815 to make it an Erlang process. Not sure about the reason why epmd was a separate OS process originally (I assume this doesn't impact -heart and VM instance count stuff, so epmd shouldn't be providing extra fault-tolerance).
More information about the erlang-questions