[rabbitmq-discuss] rabbitmq-server restart also restarts epmd

Garrett Smith g at rre.tt
Mon Nov 2 20:47:37 GMT 2009


On Mon, Nov 2, 2009 at 2:28 PM, Matthias Radestock <matthias at lshift.net> wrote:
> Garrett,
>
> Garrett Smith wrote:
>>
>> The approach that seems to have the fewest surprises is to kill epmd
>> only during a package purge. What drawback do you see there?
>
> - this would still disturb other Erlang apps, just less frequently
>
> - it makes start/stop asymmetric; if epmd gets started as a side-effect of
> starting rabbitmq, then it should get stopped as a side effect of stopping
> rabbitmq

This problem pops up from Erlang's implicit creation of a long running
process that's relied upon multiple Erlang nodes :(

Rather than try to solve the dependency/ordering issue that's at the
heart of this, I'd punt and just take the most defensible course:

- Running the rabbitmq Erlang process is going to implicitly start
epmd under the rabbit user. This is least surprising -- it's the way
any Erlang process behaves.

- Removing the rabbitmq-server package necessitates removal of the
rabbit user, which necessitates stopping all of its processes. This is
also pretty obvious.

If a sysadmin needs to manage the shared epmd process, he/she can do
so outside the scope of rabbit. This is going to be a problem with any
Erlang application that runs under a non-privileged user.

I agree that it's never ideal to kill epmd, but short of trying to
solve Erlang's problem for them, I'd settle for this.

Garrett




More information about the rabbitmq-discuss mailing list