Skip to content

Commit b1e163f

Browse files
committed
Make maximum number of Erlang atoms configurable via env
This was the only property in SERVER_ERL_ARGS that was not configurable. Even though it's unlikely that this will need to be increased above the existing 5 million default, we are consistent in allowing all properties in SERVER_ERL_ARGS to be cofigured.
1 parent 2739b40 commit b1e163f

File tree

2 files changed

+14
-1
lines changed

2 files changed

+14
-1
lines changed

scripts/rabbitmq-env

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,8 +90,11 @@ DEFAULT_DISTRIBUTION_BUFFER_SIZE=128000
9090
DEFAULT_MAX_NUMBER_OF_PROCESSES=1048576
9191
[ "x" = "x$RABBITMQ_MAX_NUMBER_OF_PROCESSES" ] && RABBITMQ_MAX_NUMBER_OF_PROCESSES=="${DEFAULT_MAX_NUMBER_OF_PROCESSES}"
9292

93+
DEFAULT_MAX_NUMBER_OF_ATOMS=5000000
94+
[ "x" = "x$RABBITMQ_MAX_NUMBER_OF_ATOMS" ] && RABBITMQ_MAX_NUMBER_OF_ATOMS=="${DEFAULT_MAX_NUMBER_OF_ATOMS}"
95+
9396
## Common server defaults
94-
SERVER_ERL_ARGS="+P $RABBITMQ_MAX_NUMBER_OF_PROCESSES +t 5000000 +stbt $RABBITMQ_SCHEDULER_BIND_TYPE +zdbbl $RABBITMQ_DISTRIBUTION_BUFFER_SIZE"
97+
SERVER_ERL_ARGS="+P $RABBITMQ_MAX_NUMBER_OF_PROCESSES +t $RABBITMQ_MAX_NUMBER_OF_ATOMS +stbt $RABBITMQ_SCHEDULER_BIND_TYPE +zdbbl $RABBITMQ_DISTRIBUTION_BUFFER_SIZE"
9598

9699
# We save the current value of $RABBITMQ_PID_FILE in case it was set by
97100
# an init script. If $CONF_ENV_FILE overrides it again, we must ignore

test/rabbitmq-env.bats

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,3 +27,13 @@
2727
echo "expected RABBITMQ_SERVER_ERL_ARGS to contain '+P 2000000', but got: $RABBITMQ_SERVER_ERL_ARGS"
2828
[[ $RABBITMQ_SERVER_ERL_ARGS == *+P\ 2000000* ]]
2929
}
30+
31+
@test "can configure RABBITMQ_MAX_NUMBER_OF_ATOMS" {
32+
declare -r scripts_dir="$BATS_TEST_DIRNAME/../scripts"
33+
export RABBITMQ_SCRIPTS_DIR="$scripts_dir"
34+
export RABBITMQ_CONF_ENV_FILE="$BATS_TMPDIR/rabbitmq-env.conf"
35+
echo 'RABBITMQ_MAX_NUMBER_OF_ATOMS=10000000' > "$RABBITMQ_CONF_ENV_FILE"
36+
source "$scripts_dir/rabbitmq-env"
37+
echo "expected RABBITMQ_SERVER_ERL_ARGS to contain '+t 10000000', but got: $RABBITMQ_SERVER_ERL_ARGS"
38+
[[ $RABBITMQ_SERVER_ERL_ARGS == *+t\ 10000000* ]]
39+
}

0 commit comments

Comments
 (0)