mirror of https://github.com/apache/cassandra
Do not source cassandra-env.sh unnecessarily in nodetool and other tooling
Sourcing cassandra-env.sh in bin/nodetool just to pick JMX_PORT from there has undesirable side-effect of not being able to run nodetool when MAX_HEAP_SIZE in cassandra-env.sh is uncommented. patch by Stefan Miklosovic; reviewed by Dmitry Konstantinov, Michael Semb Wever for CASSANDRA-20745
This commit is contained in:
parent
cf83f8b2a4
commit
96a6a7bc12
|
|
@ -1,4 +1,5 @@
|
||||||
5.0.5
|
5.0.5
|
||||||
|
* Do not source cassandra-env.sh unnecessarily in nodetool and other tooling (CASSANDRA-20745)
|
||||||
* Make source distribution buildable by ant artifacts as doc/scripts/process-native-protocol-specs-in-docker.sh was not executable (CASSANDRA-20802)
|
* Make source distribution buildable by ant artifacts as doc/scripts/process-native-protocol-specs-in-docker.sh was not executable (CASSANDRA-20802)
|
||||||
* Fix StorageService JMX mbean not available during bootstrap (CASSANDRA-19902)
|
* Fix StorageService JMX mbean not available during bootstrap (CASSANDRA-19902)
|
||||||
* SSTableIndexWriter#abort() should log more quietly in cases where an exception is not provided (CASSANDRA-20695)
|
* SSTableIndexWriter#abort() should log more quietly in cases where an exception is not provided (CASSANDRA-20695)
|
||||||
|
|
|
||||||
23
bin/nodetool
23
bin/nodetool
|
|
@ -43,13 +43,19 @@ if [ -z "$CASSANDRA_CONF" -o -z "$CLASSPATH" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run cassandra-env.sh to pick up JMX_PORT
|
JMX_PORT=""
|
||||||
|
|
||||||
|
# Try to parse port from cassandra-env.sh without sourcing it
|
||||||
if [ -f "$CASSANDRA_CONF/cassandra-env.sh" ]; then
|
if [ -f "$CASSANDRA_CONF/cassandra-env.sh" ]; then
|
||||||
JVM_OPTS_SAVE=$JVM_OPTS
|
jmx_port_property=$(grep "^JMX_PORT=\"[0-9]\+\"$" "$CASSANDRA_CONF/cassandra-env.sh")
|
||||||
MAX_HEAP_SIZE_SAVE=$MAX_HEAP_SIZE
|
if [ ! "x${jmx_port_property}" = "x" ]; then
|
||||||
. "$CASSANDRA_CONF/cassandra-env.sh"
|
JMX_PORT=$(echo "${jmx_port_property}" | sed s/\"//g | cut -d "=" -f2)
|
||||||
MAX_HEAP_SIZE=$MAX_HEAP_SIZE_SAVE
|
fi
|
||||||
JVM_OPTS="$JVM_OPTS_SAVE"
|
fi
|
||||||
|
|
||||||
|
# If, by any chance, it is not there, set it to default.
|
||||||
|
if [ "x$JMX_PORT" = "x" ]; then
|
||||||
|
JMX_PORT=7199
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# JMX Port passed via cmd line args (-p 9999 / --port 9999 / --port=9999)
|
# JMX Port passed via cmd line args (-p 9999 / --port 9999 / --port=9999)
|
||||||
|
|
@ -98,6 +104,11 @@ if [ "x$MAX_HEAP_SIZE" = "x" ]; then
|
||||||
MAX_HEAP_SIZE="128m"
|
MAX_HEAP_SIZE="128m"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# Sets the path where logback and GC logs are written.
|
||||||
|
if [ "x$CASSANDRA_LOG_DIR" = "x" ] ; then
|
||||||
|
CASSANDRA_LOG_DIR="$CASSANDRA_HOME/logs"
|
||||||
|
fi
|
||||||
|
|
||||||
CMD=$(echo "$JAVA" $JAVA_AGENT -ea -cp "$CLASSPATH" $JVM_OPTS -Xmx$MAX_HEAP_SIZE \
|
CMD=$(echo "$JAVA" $JAVA_AGENT -ea -cp "$CLASSPATH" $JVM_OPTS -Xmx$MAX_HEAP_SIZE \
|
||||||
-XX:ParallelGCThreads=1 \
|
-XX:ParallelGCThreads=1 \
|
||||||
-Dcassandra.storagedir="$cassandra_storagedir" \
|
-Dcassandra.storagedir="$cassandra_storagedir" \
|
||||||
|
|
|
||||||
|
|
@ -37,17 +37,6 @@ if [ -z "$CASSANDRA_CONF" -o -z "$CLASSPATH" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run cassandra-env.sh to pick up JMX_PORT
|
|
||||||
if [ -f "$CASSANDRA_CONF/cassandra-env.sh" ]; then
|
|
||||||
JVM_OPTS_SAVE=$JVM_OPTS
|
|
||||||
MAX_HEAP_SIZE_SAVE=$MAX_HEAP_SIZE
|
|
||||||
. "$CASSANDRA_CONF/cassandra-env.sh"
|
|
||||||
MAX_HEAP_SIZE=$MAX_HEAP_SIZE_SAVE
|
|
||||||
JVM_OPTS=$JVM_OPTS_SAVE
|
|
||||||
fi
|
|
||||||
|
|
||||||
# JMX Port passed via cmd line args (-p 9999 / --port 9999 / --port=9999)
|
|
||||||
# should override the value from cassandra-env.sh
|
|
||||||
ARGS=""
|
ARGS=""
|
||||||
JVM_ARGS=""
|
JVM_ARGS=""
|
||||||
while true
|
while true
|
||||||
|
|
|
||||||
|
|
@ -37,17 +37,6 @@ if [ -z "$CASSANDRA_CONF" -o -z "$CLASSPATH" ]; then
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# Run cassandra-env.sh to pick up JMX_PORT
|
|
||||||
if [ -f "$CASSANDRA_CONF/cassandra-env.sh" ]; then
|
|
||||||
JVM_OPTS_SAVE=$JVM_OPTS
|
|
||||||
MAX_HEAP_SIZE_SAVE=$MAX_HEAP_SIZE
|
|
||||||
. "$CASSANDRA_CONF/cassandra-env.sh"
|
|
||||||
MAX_HEAP_SIZE=$MAX_HEAP_SIZE_SAVE
|
|
||||||
JVM_OPTS=$JVM_OPTS_SAVE
|
|
||||||
fi
|
|
||||||
|
|
||||||
# JMX Port passed via cmd line args (-p 9999 / --port 9999 / --port=9999)
|
|
||||||
# should override the value from cassandra-env.sh
|
|
||||||
ARGS=""
|
ARGS=""
|
||||||
JVM_ARGS=""
|
JVM_ARGS=""
|
||||||
while true
|
while true
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue