Skip to content

Conversation

@mergify
Copy link

@mergify mergify bot commented Feb 1, 2024

This is an automatic backport of pull request #10457 done by Mergify.


Mergify commands and options

More conditions and actions can be found in the documentation.

You can also trigger Mergify actions by commenting on this pull request:

  • @Mergifyio refresh will re-evaluate the rules
  • @Mergifyio rebase will rebase this PR on its base branch
  • @Mergifyio update will merge the base branch into this PR
  • @Mergifyio backport <destination> will backport this PR on <destination> branch

Additionally, on Mergify dashboard you can:

  • look at your merge queues
  • generate the Mergify configuration with the config editor.

Finally, you can contact us on https://mergify.com

`rabbit_nodes_common:ensure_epmd/0` unconditionally starts EPMD by spawning `erl` with nodename options. Spawning `erl` can be quite slow though (around 250ms for me locally), so we should try to avoid it when we detect that EPMD is already running. We can relatively cheaply check whether EPMD is already running with `net_adm:names/0`, a function that asks the daemon on localhost to list any registered names, the same as `epmd -names` on the comand line. If we can successfully get the list of names from the daemon then we don't need to start EPMD. `net_adm:names/0` is relatively cheap compared to running `erl`, costing around 8ms when EPMD is running and less than a millisecond when it is not. This improves the CLI's total run time for commands that read the `enabled_plugins_file` and `plugins_dir` config options. Those options try to consult a running node and so they start distribution and ensure that EPMD is running. `rabbitmqctl --help` saves nearly 500ms when EPMD is already running as it reads both options, since previously it spawned and blocked on `erl` when reading each option. (cherry picked from commit 46ca326)
@michaelklishin michaelklishin added this to the 3.12.13 milestone Feb 2, 2024
@michaelklishin michaelklishin merged commit 828288f into v3.12.x Feb 2, 2024
@michaelklishin michaelklishin deleted the mergify/bp/v3.12.x/pr-10457 branch February 2, 2024 02:23
michaelklishin added a commit that referenced this pull request Feb 2, 2024
Check whether EPMD is running before starting it (backport #10457) (backport #10461)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

2 participants