Skip to content
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

Dockerfile, startup script: add rabbitmq ulimit #492

Open
wants to merge 2 commits into
base: master
Choose a base branch
from

Conversation

t-lo
Copy link

@t-lo t-lo commented Sep 12, 2022

This change works around an issue in the rabbitmq-server version shipped with Ubuntu 20.04. Large emptyfiles limits in docker containers which run on hosts with low emptyfiles limits cause rabbitmq to break. It will use use 100% CPU of a single core when started, then time out (i.e. fail to start). An erlang process 'erl_child_setup' will continue to use 100% CPU even after rabbitmq failed to start (see docker-library/rabbitmq#545).

The change adds a default emptyfiles limit to rabbitmq-server via /etc/default/rabbitmq-server, which is created in the Dockerfile before rabbitmq is installed. The default is generous: 65536.

Additionally, the change adds a new container environment variable RABBITMQ_EMPTYFILES_LIMIT which, when set, will override the default above.

Fixes #491 .

This change works around an issue in the rabbitmq-server version shipped
with Ubuntu 20.04. Large emptyfiles limits in docker
containers which run on hosts with low emptyfiles limits cause rabbitmq
to break. It will use use 100% CPU of a single core when started, then
time out (i.e. fail to start). An erlang process 'erl_child_setup'
will continue to use 100% CPU even after rabbitmq failed to
start (see docker-library/rabbitmq#545).

The change adds a default emptyfiles limit to rabbitmq-server via
/etc/default/rabbitmq-server, which is created in the Dockerfile before
rabbitmq is installed. The default is generous: 65536.

Additionally, the change ads a new container environment variable
RABBITMQ_EMPTYFILES_LIMIT which, when set, will override the default
above.
@CLAassistant
Copy link

CLAassistant commented Sep 12, 2022

CLA assistant check
All committers have signed the CLA.

@t-lo
Copy link
Author

t-lo commented Sep 19, 2022

Friendly ping - any chance of a review / feedback on the PR? Anything I can do to improve it?

@t-lo
Copy link
Author

t-lo commented Oct 10, 2022

Updated PR branch to latest master.

@t-lo
Copy link
Author

t-lo commented Dec 2, 2022

Superseded by #530 which updates rabbitmq to 3.10.
rabbitmq 3.10.8 fixes the root cause.

Feel free to close this PR.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants