Nodetool gets default JMX port from cassandra-env.sh

Patch by Sam Tunnicliffe, reviewed by brandonwilliams for CASSANDRA-6273
This commit is contained in:
Brandon Williams 2013-10-30 15:05:02 -05:00
parent 18f7935370
commit b461c3bfad
2 changed files with 32 additions and 1 deletions

View File

@ -7,6 +7,7 @@
* (Hadoop) Make LOCAL_ONE the default consistency level (CASSANDRA-6214)
* Require logging in for Thrift CQL2/3 statement preparation (CASSANDRA-6254)
* restrict max_num_tokens to 1536 (CASSANDRA-6267)
* Nodetool gets default JMX port from cassandra-env.sh (CASSANDRA-6273)
1.2.11

View File

@ -47,6 +47,36 @@ if [ -z "$CASSANDRA_CONF" -o -z "$CLASSPATH" ]; then
exit 1
fi
# Run cassandra-env.sh to pick up JMX_PORT
if [ -f "$CASSANDRA_CONF/cassandra-env.sh" ]; then
. "$CASSANDRA_CONF/cassandra-env.sh"
fi
# JMX Port passed via cmd line args (-p 9999 / --port 9999 / --port=9999)
# should override the value from cassandra-env.sh
ARGS=""
while true
do
if [ ! $1 ]; then break; fi
case $1 in
-p)
JMX_PORT=$2
shift
;;
--port=*)
JMX_PORT=$(echo $1 | cut -d '=' -f 2)
;;
--port)
JMX_PORT=$2
shift
;;
*)
ARGS="$ARGS $1"
;;
esac
shift
done
# Special-case path variables.
case "`uname`" in
CYGWIN*)
@ -59,6 +89,6 @@ esac
-Xmx32m \
-Dlog4j.configuration=log4j-tools.properties \
-Dstorage-config="$CASSANDRA_CONF" \
org.apache.cassandra.tools.NodeCmd ${1+"$@"}
org.apache.cassandra.tools.NodeCmd -p $JMX_PORT $ARGS
# vi:ai sw=4 ts=4 tw=0 et