Update packaging shell includes for j17

Patch by brandonwilliams; reviewed by bereng for CASSANDRA-19283
This commit is contained in:
Brandon Williams 2024-01-23 16:22:14 -06:00
parent 5b9321eee1
commit 69f735d61f
3 changed files with 67 additions and 11 deletions

View File

@ -1,4 +1,5 @@
5.0-beta2 5.0-beta2
* Update packaging shell includes (CASSANDRA-19283)
* Fix data corruption in VectorCodec when using heap buffers (CASSANDRA-19167) * Fix data corruption in VectorCodec when using heap buffers (CASSANDRA-19167)
* Avoid over-skipping of key iterators from static column indexes during mixed intersections (CASSANDRA-19278) * Avoid over-skipping of key iterators from static column indexes during mixed intersections (CASSANDRA-19278)
* Make concurrent_index_builders configurable at runtime (CASSANDRA-19266) * Make concurrent_index_builders configurable at runtime (CASSANDRA-19266)

View File

@ -25,7 +25,7 @@
# This can be the path to a jar file, or a directory containing the # This can be the path to a jar file, or a directory containing the
# compiled classes. NOTE: This isn't needed by the startup script, # compiled classes. NOTE: This isn't needed by the startup script,
@@ -38,7 +38,7 @@ fi @@ -45,7 +45,7 @@ fi
# the default location for commitlogs, sstables, and saved caches # the default location for commitlogs, sstables, and saved caches
# if not set in cassandra.yaml # if not set in cassandra.yaml
@ -34,8 +34,8 @@
# JAVA_HOME can optionally be set here # JAVA_HOME can optionally be set here
#JAVA_HOME=/usr/local/jdk6 #JAVA_HOME=/usr/local/jdk6
@@ -47,6 +47,10 @@ for jar in "$CASSANDRA_HOME"/lib/*.jar; do @@ -59,6 +59,10 @@ for jsr223jar in "$CASSANDRA_HOME"/lib/jsr223/*/*.jar; do
CLASSPATH="$CLASSPATH:$jar" CLASSPATH="$CLASSPATH:$jsr223jar"
done done
+for jar in "$CASSANDRA_HOME"/*.jar; do +for jar in "$CASSANDRA_HOME"/*.jar; do
@ -44,4 +44,4 @@
+ +
CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH" CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH"
# JSR223 - collect all JSR223 engines' jars # JSR223/JRuby - set ruby lib directory

View File

@ -1,4 +1,3 @@
#
# Licensed to the Apache Software Foundation (ASF) under one # Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file # or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information # distributed with this work for additional information
@ -14,7 +13,7 @@
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.
#
# The directory where Cassandra's configs live (required) # The directory where Cassandra's configs live (required)
CASSANDRA_CONF=/etc/cassandra/conf CASSANDRA_CONF=/etc/cassandra/conf
@ -25,23 +24,71 @@ CASSANDRA_HOME=/usr/share/cassandra
if [ -n "$CLASSPATH" ]; then if [ -n "$CLASSPATH" ]; then
CLASSPATH=$CLASSPATH:$CASSANDRA_CONF CLASSPATH=$CLASSPATH:$CASSANDRA_CONF
else else
CLASSPATH=$CASSANDRA_CONF CLASSPATH="$CASSANDRA_CONF"
fi fi
for jar in /usr/share/cassandra/lib/*.jar; do # This can be the path to a jar file, or a directory containing the
CLASSPATH=$CLASSPATH:$jar # compiled classes. NOTE: This isn't needed by the startup script,
# it's just used here in constructing the classpath.
if [ -d $CASSANDRA_HOME/build ] ; then
jars_cnt="`ls -1 $CASSANDRA_HOME/build/apache-cassandra*.jar | grep -v 'javadoc.jar' | grep -v 'sources.jar' | wc -l | xargs echo`"
if [ "$jars_cnt" -gt 1 ]; then
dir="`cd $CASSANDRA_HOME/build; pwd`"
echo "There are JAR artifacts for multiple versions in the $dir directory. Please clean the project with 'ant realclean' and build it again." 1>&2
exit 1
fi
if [ "$jars_cnt" = "1" ]; then
cassandra_bin="`ls -1 $CASSANDRA_HOME/build/apache-cassandra*.jar | grep -v javadoc | grep -v sources`"
CLASSPATH="$CLASSPATH:$cassandra_bin"
fi
fi
# the default location for commitlogs, sstables, and saved caches
# if not set in cassandra.yaml
cassandra_storagedir=/var/lib/cassandra
# JAVA_HOME can optionally be set here
#JAVA_HOME=/usr/local/jdk6
for jar in "$CASSANDRA_HOME"/lib/*.jar; do
CLASSPATH="$CLASSPATH:$jar"
done done
for jar in /usr/share/cassandra/*.jar; do # JSR223 - collect all JSR223 engines' jars
CLASSPATH=$CLASSPATH:$jar for jsr223jar in "$CASSANDRA_HOME"/lib/jsr223/*/*.jar; do
CLASSPATH="$CLASSPATH:$jsr223jar"
done
for jar in "$CASSANDRA_HOME"/*.jar; do
CLASSPATH="$CLASSPATH:$jar"
done done
CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH" CLASSPATH="$CLASSPATH:$EXTRA_CLASSPATH"
# JSR223/JRuby - set ruby lib directory
if [ -d "$CASSANDRA_HOME"/lib/jsr223/jruby/ruby ] ; then
export JVM_OPTS="$JVM_OPTS -Djruby.lib=$CASSANDRA_HOME/lib/jsr223/jruby"
fi
# JSR223/JRuby - set ruby JNI libraries root directory
if [ -d "$CASSANDRA_HOME"/lib/jsr223/jruby/jni ] ; then
export JVM_OPTS="$JVM_OPTS -Djffi.boot.library.path=$CASSANDRA_HOME/lib/jsr223/jruby/jni"
fi
# JSR223/Jython - set python.home system property
if [ -f "$CASSANDRA_HOME"/lib/jsr223/jython/jython.jar ] ; then
export JVM_OPTS="$JVM_OPTS -Dpython.home=$CASSANDRA_HOME/lib/jsr223/jython"
fi
# JSR223/Scala - necessary system property
if [ -f "$CASSANDRA_HOME"/lib/jsr223/scala/scala-compiler.jar ] ; then
export JVM_OPTS="$JVM_OPTS -Dscala.usejavacp=true"
fi
# set JVM javaagent opts to avoid warnings/errors # set JVM javaagent opts to avoid warnings/errors
JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.4.0.jar" JAVA_AGENT="$JAVA_AGENT -javaagent:$CASSANDRA_HOME/lib/jamm-0.4.0.jar"
# Added sigar-bin to the java.library.path CASSANDRA-7838
JAVA_OPTS="$JAVA_OPTS:-Djava.library.path=$CASSANDRA_HOME/lib/sigar-bin"
platform=$(uname -m) platform=$(uname -m)
if [ -d "$CASSANDRA_HOME"/lib/"$platform" ]; then if [ -d "$CASSANDRA_HOME"/lib/"$platform" ]; then
for jar in "$CASSANDRA_HOME"/lib/"$platform"/*.jar ; do for jar in "$CASSANDRA_HOME"/lib/"$platform"/*.jar ; do
@ -119,3 +166,11 @@ for opt in `grep "^-" $JVM_OPTS_FILE` `grep "^-" $JVM_DEP_OPTS_FILE`
do do
JVM_OPTS="$JVM_OPTS $opt" JVM_OPTS="$JVM_OPTS $opt"
done done
# Append additional options when using JDK17+ (CASSANDRA-19001)
USING_JDK=$(command -v javac || command -v "${JAVA_HOME:-/usr}/bin/javac")
if [ -n "$USING_JDK" ] && [ "$JAVA_VERSION" -ge 17 ]; then
JVM_OPTS="$JVM_OPTS --add-exports jdk.attach/sun.tools.attach=ALL-UNNAMED"
JVM_OPTS="$JVM_OPTS --add-exports jdk.compiler/com.sun.tools.javac.file=ALL-UNNAMED"
JVM_OPTS="$JVM_OPTS --add-opens jdk.compiler/com.sun.tools.javac=ALL-UNNAMED"
fi