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
Atom table exhaustion due to rabbitmqctl node names #549
Comments
I am not 100% sure but suspect that CLI tools use generated node names so that they can run concurrently. How can we accomplish that while also using a limited number of names? |
We can catch |
Actually, it's not a problem with rabbit_nodes:ensure_epmd - starter node is not connecting anywhere, so there will be no pollution. |
I think I'll provide some preliminary patch today. |
It prevents atom table overflow in a long running broker. Fixes rabbitmq#549
The PR provided by @binarin looks reasonable, I will test it later today. Thank you for your ongoing contributions. |
I've been running 2 instances of |
Thanks for reporting this @binarin |
Fixed by #552 (and rabbitmq/rabbitmq-common#48). I like the solution we now have, thank you @binarin! |
This problem has re-appeared in the current generation of CLI tools ( |
rabbitmqctl generate node names like 'rabbit-cli-<pid>@<host>'. The problem is that node names are stored in atom table and not garbage collected.
Some numbers:
So on linux any long running rabbitmqbroker could be crashed by constantly running rabbitmqctl:
While it sounds ridiculous, we've observed such a crash on a production server )
There should be some way to generate rabbitmqctl nodenames without introducing large quantities of uncollected garbage.
The text was updated successfully, but these errors were encountered: