docker-library/cassandra

"The Java thread stack size specified is too small. Specify at least 384k" for ppc64le arch

Mathieu-Ferraton opened this issue · 1 comments

Running cassandra:4 on ppc64le produces this error: The Java thread stack size specified is too small. Specify at least 384k.

Looking at the ppc64le specific section of the 4.0 Dockerfile, substitution of the -Xss256k value with -Xss512k is tried in $CASSANDRA_CONF/jvm.options file (3.11 legacy, file doesn't exists in 4.0), and in $CASSANDRA_CONF/cassandra-env.sh (3.0 legacy, option not set from there in 4.0):

cassandra/4.0/Dockerfile

Lines 143 to 158 in dee264d

case "$dpkgArch" in \
ppc64el) \
# https://issues.apache.org/jira/browse/CASSANDRA-13345
# "The stack size specified is too small, Specify at least 328k"
if grep -q -- '^-Xss' "$CASSANDRA_CONF/jvm.options"; then \
# 3.11+ (jvm.options)
grep -- '^-Xss256k$' "$CASSANDRA_CONF/jvm.options"; \
sed -ri 's/^-Xss256k$/-Xss512k/' "$CASSANDRA_CONF/jvm.options"; \
grep -- '^-Xss512k$' "$CASSANDRA_CONF/jvm.options"; \
elif grep -q -- '-Xss256k' "$CASSANDRA_CONF/cassandra-env.sh"; then \
# 3.0 (cassandra-env.sh)
sed -ri 's/-Xss256k/-Xss512k/g' "$CASSANDRA_CONF/cassandra-env.sh"; \
grep -- '-Xss512k' "$CASSANDRA_CONF/cassandra-env.sh"; \
fi; \
;; \
esac; \

In cassandra 4.0, setting -Xss256k in JVM_OPTS is done in $CASSANDRA_CONF/jvm-server.options, so the corresponding Dockerfile should reflect that change.

Fixed via #252