Write ccm clusters under test's TMPDIR

This prevents docker overlay file leakage from containers by keeping write-heavy directories in bind mounts (or volumes). It also offers better performance by avoiding the container filesystem.

 patch by Mick Semb Wever; reviewed Brandon Williams for INFRA-25202
This commit is contained in:
Mick Semb Wever 2023-12-04 13:12:33 +01:00
parent b48fdc7cf2
commit fe7997884d
No known key found for this signature in database
GPG Key ID: E91335D77E3E87CB
3 changed files with 6 additions and 4 deletions

View File

@ -128,7 +128,8 @@ docker exec --user root ${container_name} bash -c "\${CASSANDRA_DIR}/.build/dock
docker exec --user build ${container_name} bash -c "${docker_command}"
RETURN=$?
docker stop ${container_name} >/dev/null
# docker stop in background, ignore errors
( nohup docker stop ${container_name} >/dev/null 2>/dev/null & )
popd >/dev/null
[ $RETURN -eq 0 ] && echo "Build directory found at ${build_dir}"
exit $RETURN

View File

@ -45,16 +45,17 @@ DTEST_SPLIT_CHUNK="$2"
[ "x${CASSANDRA_DTEST_DIR}" != "x" ] || CASSANDRA_DTEST_DIR="${CASSANDRA_DIR}/../cassandra-dtest"
[ "x${DIST_DIR}" != "x" ] || DIST_DIR="${CASSANDRA_DIR}/build"
export TMPDIR="$(mktemp -d ${DIST_DIR}/run-python-dtest.XXXXXX)"
export PYTHONIOENCODING="utf-8"
export PYTHONUNBUFFERED=true
export CASS_DRIVER_NO_EXTENSIONS=true
export CASS_DRIVER_NO_CYTHON=true
export CCM_MAX_HEAP_SIZE="1024M"
export CCM_HEAP_NEWSIZE="512M"
export CCM_CONFIG_DIR="${TMPDIR}/.ccm"
export NUM_TOKENS="16"
#Have Cassandra skip all fsyncs to improve test performance and reliability
export CASSANDRA_SKIP_SYNC=true
export TMPDIR="$(mktemp -d ${DIST_DIR}/run-python-dtest.XXXXXX)"
unset CASSANDRA_HOME
# pre-conditions

View File

@ -28,16 +28,16 @@ WORKSPACE=$1
[ "x${WORKSPACE}" != "x" ] || WORKSPACE="$(readlink -f $(dirname "$0")/..)"
[ "x${BUILD_DIR}" != "x" ] || BUILD_DIR="${WORKSPACE}/build"
export TMPDIR="$(mktemp -d ${DIST_DIR}/run-python-dtest.XXXXXX)"
export PYTHONIOENCODING="utf-8"
export PYTHONUNBUFFERED=true
export CASS_DRIVER_NO_EXTENSIONS=true
export CASS_DRIVER_NO_CYTHON=true
export CCM_MAX_HEAP_SIZE="2048M"
export CCM_HEAP_NEWSIZE="200M"
export CCM_CONFIG_DIR=${BUILD_DIR}/.ccm
export CCM_CONFIG_DIR="${TMPDIR}/.ccm"
export NUM_TOKENS="16"
export CASSANDRA_DIR=${WORKSPACE}
export TMPDIR="$(mktemp -d /tmp/run-python-dtest.XXXXXX)"
java_version=$(java -version 2>&1 | awk -F '"' '/version/ {print $2}' | awk -F. '{print $1}')
version=$(grep 'property\s*name=\"base.version\"' ${CASSANDRA_DIR}/build.xml |sed -ne 's/.*value=\"\([^"]*\)\".*/\1/p')