From 46f83bba23f25ab042f848bc705bb6168e101442 Mon Sep 17 00:00:00 2001 From: Michal Kuratczyk Date: Wed, 18 Jun 2025 15:10:19 +0200 Subject: [PATCH] Add RABBITMQ_MAX_OPEN_FILES with default of 65535 Until now, we've relied on the operating system to set the limits appropriately. However, this topic keeps coming up and now there's a new source of problem - containerd 2.0 (included in Kubernetes 1.33+) changed how it handles the limits, leading to the limit of only 1024 in some cases (eg. GKE clusters running 1.33+). Let's make it easier - default of 65535 should be sufficient for most and exporting RABBITMQ_MAX_OPEN_FILES is the only thing needed to adjust it (rather than changing Kubernetes configuration). --- deps/rabbit/scripts/rabbitmq-env | 4 ++++ deps/rabbit/scripts/rabbitmq-server | 4 ++++ 2 files changed, 8 insertions(+) diff --git a/deps/rabbit/scripts/rabbitmq-env b/deps/rabbit/scripts/rabbitmq-env index dbd876cac9a3..1aa7d7596b18 100755 --- a/deps/rabbit/scripts/rabbitmq-env +++ b/deps/rabbit/scripts/rabbitmq-env @@ -111,6 +111,10 @@ if [ -z "$ERL_MAX_PORTS" ]; then export ERL_MAX_PORTS=65536 fi +if [ -z "$RABBITMQ_MAX_OPEN_FILES" ]; then + export RABBITMQ_MAX_OPEN_FILES=65535 +fi + [ -n "$ERL_EPMD_PORT" ] && export ERL_EPMD_PORT [ -n "$ERL_EPMD_ADDRESS" ] && export ERL_EPMD_ADDRESS diff --git a/deps/rabbit/scripts/rabbitmq-server b/deps/rabbit/scripts/rabbitmq-server index 07f5c04daedf..7d0165898a32 100755 --- a/deps/rabbit/scripts/rabbitmq-server +++ b/deps/rabbit/scripts/rabbitmq-server @@ -39,6 +39,10 @@ start_rabbitmq_server() { _rmq_env_set_erl_libs + if [ -n "$RABBITMQ_MAX_OPEN_FILES" ]; then + ulimit -n ${RABBITMQ_MAX_OPEN_FILES} || true + fi + RABBITMQ_START_RABBIT= [ "x" = "x$RABBITMQ_ALLOW_INPUT" ] && RABBITMQ_START_RABBIT=" -noinput" if test -z "$RABBITMQ_NODE_ONLY"; then