Merge branch 'cassandra-5.0' into trunk

This commit is contained in:
Andrés de la Peña 2024-01-19 17:33:55 +00:00
commit 03f0d37cb0
22 changed files with 222 additions and 2596 deletions

View File

@ -233,7 +233,6 @@
<copy todir="${build.lib}" quiet="true">
<file file="${local.repository}/org/apache/cassandra/deps/futures-2.1.6-py2.py3-none-any.zip"/>
<file file="${local.repository}/org/apache/cassandra/deps/six-1.12.0-py2.py3-none-any.zip"/>
<file file="${local.repository}/org/apache/cassandra/deps/geomet-0.1.0.zip"/>
<file file="${local.repository}/org/apache/cassandra/deps/pure_sasl-0.6.2-py2-none-any.zip"/>
<file file="${local.repository}/org/apache/cassandra/deps/wcwidth-0.2.5-py2.py3-none-any.zip"/>
@ -272,7 +271,6 @@
<target name="_resolver-dist-lib_get_files">
<!-- files.pythonhosted.org/packages -->
<get src="${artifact.python.pypi}/59/a0/cf4cd997e1750f0c2d91c6ea5abea218251c43c3581bcc2f118b00baf5cf/futures-2.1.6-py2.py3-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/futures-2.1.6-py2.py3-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
<get src="${artifact.python.pypi}/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/six-1.12.0-py2.py3-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
<get src="${artifact.python.pypi}/37/b2/ef1124540ee2c0b417be8d0f74667957e6aa084a3f26621aa67e2e77f3fb/pure_sasl-0.6.2-py2-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/pure_sasl-0.6.2-py2-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>
<get src="${artifact.python.pypi}/59/7c/e39aca596badaf1b78e8f547c807b04dae603a433d3e7a7e04d67f2ef3e5/wcwidth-0.2.5-py2.py3-none-any.whl" dest="${local.repository}/org/apache/cassandra/deps/wcwidth-0.2.5-py2.py3-none-any.zip" usetimestamp="true" quiet="true" skipexisting="true"/>

View File

@ -69,10 +69,10 @@ if [[ ! "${java_version}" =~ $regx_java_version ]]; then
exit 1
fi
# allow python version override, otherwise default to current python version or 3.7
# allow python version override, otherwise default to current python version or 3.8
if [ "x" == "x${python_version}" ] ; then
command -v python >/dev/null 2>&1 && python_version="$(python -V 2>&1 | awk '{print $2}' | awk -F'.' '{print $1"."$2}')"
python_version="${python_version:-3.7}"
python_version="${python_version:-3.8}"
fi
# print debug information on versions

View File

@ -48,7 +48,6 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
add-apt-repository -y ppa:deadsnakes/ppa && \
apt-get update && \
apt-get install -y curl git-core python3-pip \
python3.7 python3.7-venv python3.7-dev \
python3.8 python3.8-venv python3.8-dev \
python3.11 python3.11-venv python3.11-dev \
virtualenv net-tools libev4 libev-dev wget gcc libxml2 libxslt1-dev \
@ -56,10 +55,8 @@ RUN export DEBIAN_FRONTEND=noninteractive && \
openjdk-8-jdk openjdk-11-jdk openjdk-17-jdk ant ant-optional
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.7 2
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 3
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.11 4
RUN python3.7 -m pip install --upgrade pip
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.8 2
RUN update-alternatives --install /usr/bin/python python /usr/bin/python3.11 3
RUN python3.8 -m pip install --upgrade pip
# generate locales for the standard en_US.UTF8 value we use for testing
@ -95,7 +92,7 @@ WORKDIR ${BUILD_HOME}
ENV ANT_HOME=/usr/share/ant
# run pip commands and setup virtualenv (note we do this after we switch to cassandra user so we
# setup the virtualenv for the cassandra user and not the root user by accident) for Python 3.7/3.8
# setup the virtualenv for the cassandra user and not the root user by accident) for Python 3.8/3.11
# Don't build cython extensions when installing cassandra-driver. During test execution the driver
# dependency is refreshed via pip install --upgrade, so that driver changes can be pulled in without
# requiring the image to be rebuilt. Rebuilding compiled extensions is costly and is disabled by
@ -103,15 +100,6 @@ ENV ANT_HOME=/usr/share/ant
# included in the base image, the compiled objects are not updated by pip at run time, which can
# cause errors if the tests rely on new driver functionality or bug fixes.
RUN virtualenv --python=python3.7 ${BUILD_HOME}/env3.7
RUN chmod +x ${BUILD_HOME}/env3.7/bin/activate
RUN /bin/bash -c "export CASS_DRIVER_NO_CYTHON=1 CASS_DRIVER_NO_EXTENSIONS=1 \
&& source ${BUILD_HOME}/env3.7/bin/activate \
&& pip3 install --upgrade pip \
&& pip3 install -r /opt/requirements.txt \
&& pip3 freeze --user"
RUN virtualenv --python=python3.8 ${BUILD_HOME}/env3.8
RUN chmod +x ${BUILD_HOME}/env3.8/bin/activate
@ -131,14 +119,14 @@ RUN /bin/bash -c "export CASS_DRIVER_NO_CYTHON=1 CASS_DRIVER_NO_EXTENSIONS=1 \
&& pip3 freeze --user"
# Initialize the CCM git repo as well as this also can fail to clone
RUN /bin/bash -c "source ${BUILD_HOME}/env3.7/bin/activate && \
RUN /bin/bash -c "source ${BUILD_HOME}/env3.8/bin/activate && \
ccm create -n 1 -v git:cassandra-4.1 test && ccm remove test && \
ccm create -n 1 -v git:cassandra-4.0 test && ccm remove test"
# Initialize ccm versions. right side of each sequence needs to be updated with new releases.
# this can be checked with:
# `curl -s https://downloads.apache.org/cassandra/ | grep -oP '(?<=href=\")[0-9]+\.[0-9]+\.[0-9]+(?=)' | sort -V | uniq -w 3`
RUN bash -c 'source ~/env3.7/bin/activate && \
RUN bash -c 'source ~/env3.8/bin/activate && \
for i in {1..11} ; do echo $i ; ccm create --quiet -n 1 -v binary:4.0.$i test && ccm remove test ; done && \
for i in {1..3} ; do echo $i ; ccm create --quiet -n 1 -v binary:4.1.$i test && ccm remove test ; done'
@ -147,7 +135,7 @@ RUN sudo update-java-alternatives --set java-1.11.0-openjdk-$(dpkg --print-archi
# Initialize the CCM git repo as well as this also can fail to clone
# TODO Move binary:5.0* to above once GA
RUN /bin/bash -c 'source ~/env3.7/bin/activate && \
RUN /bin/bash -c 'source ~/env3.8/bin/activate && \
ccm create -n 1 -v git:trunk test && ccm remove test && \
ccm create -n 1 -v git:cassandra-5.0 test && ccm remove test && \
ccm create --quiet -n 1 -v binary:5.0-beta1 test && ccm remove test '

View File

@ -74,7 +74,7 @@ if [ "${java_version}" -eq 17 ] && [[ "${target}" == "dtest-upgrade" ]] ; then
fi
python_version=$(python -V 2>&1 | awk '{print $2}' | awk -F'.' '{print $1"."$2}')
python_regx_supported_versions="^(3.7|3.8|3.11)$"
python_regx_supported_versions="^(3.8|3.9|3.10|3.11)$"
[[ $python_version =~ $python_regx_supported_versions ]] || { echo "Python ${python_version} not supported."; exit 1; }
# check project is already built. no cleaning is done, so jenkins unstash works, beware.

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -684,14 +684,6 @@ j11_separate_jobs: &j11_separate_jobs
# Java 11 cqlsh dtests
- start_j11_cqlsh_tests:
type: approval
- j11_cqlsh_dtests_py3:
requires:
- start_j11_cqlsh_tests
- j11_build
- j11_cqlsh_dtests_py3_vnode:
requires:
- start_j11_cqlsh_tests
- j11_build
- j11_cqlsh_dtests_py38:
requires:
- start_j11_cqlsh_tests
@ -711,10 +703,6 @@ j11_separate_jobs: &j11_separate_jobs
# Java 11 cqlsh offheap dtests offheap
- start_j11_cqlsh_tests_offheap:
type: approval
- j11_cqlsh_dtests_py3_offheap:
requires:
- start_j11_cqlsh_tests_offheap
- j11_build
- j11_cqlsh_dtests_py38_offheap:
requires:
- start_j11_cqlsh_tests_offheap
@ -726,14 +714,6 @@ j11_separate_jobs: &j11_separate_jobs
# Java 17 cqlsh dtests
- start_j17_cqlsh_tests:
type: approval
- j17_cqlsh_dtests_py3:
requires:
- start_j17_cqlsh_tests
- j11_build
- j17_cqlsh_dtests_py3_vnode:
requires:
- start_j17_cqlsh_tests
- j11_build
- j17_cqlsh_dtests_py38:
requires:
- start_j17_cqlsh_tests
@ -753,10 +733,6 @@ j11_separate_jobs: &j11_separate_jobs
# Java 17 cqlsh dtests off-heap
- start_j17_cqlsh_tests_offheap:
type: approval
- j17_cqlsh_dtests_py3_offheap:
requires:
- start_j17_cqlsh_tests_offheap
- j11_build
- j17_cqlsh_dtests_py38_offheap:
requires:
- start_j17_cqlsh_tests_offheap
@ -1117,12 +1093,6 @@ j11_pre-commit_jobs: &j11_pre-commit_jobs
- start_j17_dtests_large
- j11_build
# Java 11 cqlsh dtests
- j11_cqlsh_dtests_py3:
requires:
- j11_build
- j11_cqlsh_dtests_py3_vnode:
requires:
- j11_build
- j11_cqlsh_dtests_py38:
requires:
- j11_build
@ -1138,10 +1108,6 @@ j11_pre-commit_jobs: &j11_pre-commit_jobs
# Java 11 cqlsh dtests offheap
- start_j11_cqlsh_dtests_offheap:
type: approval
- j11_cqlsh_dtests_py3_offheap:
requires:
- start_j11_cqlsh_dtests_offheap
- j11_build
- j11_cqlsh_dtests_py38_offheap:
requires:
- start_j11_cqlsh_dtests_offheap
@ -1151,12 +1117,6 @@ j11_pre-commit_jobs: &j11_pre-commit_jobs
- start_j11_cqlsh_dtests_offheap
- j11_build
# Java 17 cqlsh dtests
- j17_cqlsh_dtests_py3:
requires:
- j11_build
- j17_cqlsh_dtests_py3_vnode:
requires:
- j11_build
- j17_cqlsh_dtests_py38:
requires:
- j11_build
@ -1172,10 +1132,6 @@ j11_pre-commit_jobs: &j11_pre-commit_jobs
# Java 17 cqlsh dtests off-heap
- start_j17_cqlsh-dtests-offheap:
type: approval
- j17_cqlsh_dtests_py3_offheap:
requires:
- start_j17_cqlsh-dtests-offheap
- j11_build
- j17_cqlsh_dtests_py38_offheap:
requires:
- start_j17_cqlsh-dtests-offheap
@ -1303,14 +1259,6 @@ j17_separate_jobs: &j17_separate_jobs
- j17_build
- start_j17_cqlsh_tests:
type: approval
- j17_cqlsh_dtests_py3:
requires:
- start_j17_cqlsh_tests
- j17_build
- j17_cqlsh_dtests_py3_vnode:
requires:
- start_j17_cqlsh_tests
- j17_build
- j17_cqlsh_dtests_py38:
requires:
- start_j17_cqlsh_tests
@ -1329,10 +1277,6 @@ j17_separate_jobs: &j17_separate_jobs
- j17_build
- start_j17_cqlsh-dtests-offheap:
type: approval
- j17_cqlsh_dtests_py3_offheap:
requires:
- start_j17_cqlsh-dtests-offheap
- j17_build
- j17_cqlsh_dtests_py38_offheap:
requires:
- start_j17_cqlsh-dtests-offheap
@ -1538,12 +1482,6 @@ j17_pre-commit_jobs: &j17_pre-commit_jobs
requires:
- start_j17_dtests_large
- j17_build
- j17_cqlsh_dtests_py3:
requires:
- j17_build
- j17_cqlsh_dtests_py3_vnode:
requires:
- j17_build
- j17_cqlsh_dtests_py38:
requires:
- j17_build
@ -1558,10 +1496,6 @@ j17_pre-commit_jobs: &j17_pre-commit_jobs
- j17_build
- start_j17_cqlsh-dtests-offheap:
type: approval
- j17_cqlsh_dtests_py3_offheap:
requires:
- start_j17_cqlsh-dtests-offheap
- j17_build
- j17_cqlsh_dtests_py38_offheap:
requires:
- start_j17_cqlsh-dtests-offheap
@ -2086,36 +2020,6 @@ jobs:
file_tag: j11_upgradetests_without_vnodes
pytest_extra_args: '--execute-upgrade-tests-only --upgrade-target-version-only --upgrade-version-selection all'
j11_cqlsh_dtests_py3_vnode:
<<: *j11_par_executor
steps:
- attach_workspace:
at: /home/cassandra
- clone_dtest
- create_venv
- create_dtest_containers:
file_tag: j11_with_vnodes
run_dtests_extra_args: "--use-vnodes --skip-resource-intensive-tests --pytest-options '-k cql'"
- run_dtests:
file_tag: j11_with_vnodes
pytest_extra_args: '--use-vnodes --num-tokens=16 --skip-resource-intensive-tests'
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j11_cqlsh_dtests_py3_offheap:
<<: *j11_par_executor
steps:
- attach_workspace:
at: /home/cassandra
- clone_dtest
- create_venv
- create_dtest_containers:
file_tag: j11_dtests_offheap
run_dtests_extra_args: "--use-vnodes --use-off-heap-memtables --skip-resource-intensive-tests --pytest-options '-k cql'"
- run_dtests:
file_tag: j11_dtests_offheap
pytest_extra_args: '--use-vnodes --num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests'
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j11_cqlsh_dtests_py38_vnode:
<<: *j11_par_executor
steps:
@ -2188,21 +2092,6 @@ jobs:
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.11'
python_version: '3.11'
j11_cqlsh_dtests_py3:
<<: *j11_par_executor
steps:
- attach_workspace:
at: /home/cassandra
- clone_dtest
- create_venv
- create_dtest_containers:
file_tag: j11_without_vnodes
run_dtests_extra_args: "--skip-resource-intensive-tests --pytest-options '-k cql'"
- run_dtests:
file_tag: j11_without_vnodes
pytest_extra_args: '--skip-resource-intensive-tests'
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j11_cqlsh_dtests_py38:
<<: *j11_par_executor
steps:
@ -2239,36 +2128,6 @@ jobs:
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.11'
python_version: '3.11'
j17_cqlsh_dtests_py3_vnode:
<<: *j17_par_executor
steps:
- attach_workspace:
at: /home/cassandra
- clone_dtest
- create_venv
- create_dtest_containers:
file_tag: j17_with_vnodes
run_dtests_extra_args: "--use-vnodes --skip-resource-intensive-tests --pytest-options '-k cql'"
- run_dtests:
file_tag: j17_with_vnodes
pytest_extra_args: '--use-vnodes --num-tokens=16 --skip-resource-intensive-tests'
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j17_cqlsh_dtests_py3_offheap:
<<: *j17_par_executor
steps:
- attach_workspace:
at: /home/cassandra
- clone_dtest
- create_venv
- create_dtest_containers:
file_tag: j17_dtests_offheap
run_dtests_extra_args: "--use-vnodes --use-off-heap-memtables --skip-resource-intensive-tests --pytest-options '-k cql'"
- run_dtests:
file_tag: j17_dtests_offheap
pytest_extra_args: '--use-vnodes --num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests'
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j17_cqlsh_dtests_py38_vnode:
<<: *j17_par_executor
steps:
@ -2341,21 +2200,6 @@ jobs:
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.11'
python_version: '3.11'
j17_cqlsh_dtests_py3:
<<: *j17_par_executor
steps:
- attach_workspace:
at: /home/cassandra
- clone_dtest
- create_venv
- create_dtest_containers:
file_tag: j17_without_vnodes
run_dtests_extra_args: "--skip-resource-intensive-tests --pytest-options '-k cql'"
- run_dtests:
file_tag: j17_without_vnodes
pytest_extra_args: '--skip-resource-intensive-tests'
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j17_cqlsh_dtests_py38:
<<: *j17_par_executor
steps:
@ -3117,8 +2961,8 @@ commands:
parameters:
python_version:
type: enum
default: "3.7"
enum: ["3.7", "3.8", "3.11"]
default: "3.8"
enum: ["3.8", "3.11"]
steps:
- run:
name: Configure virtualenv and python Dependencies
@ -3148,8 +2992,8 @@ commands:
default: ''
python_version:
type: enum
default: "3.7"
enum: ["3.7", "3.8", "3.11"]
default: "3.8"
enum: ["3.8", "3.11"]
steps:
- run:
name: Determine Tests to Run (<<parameters.file_tag>>)
@ -3190,8 +3034,8 @@ commands:
default: ''
python_version:
type: enum
default: "3.7"
enum: ["3.7", "3.8", "3.11"]
default: "3.8"
enum: ["3.8", "3.11"]
steps:
- run:
name: Run dtests (<<parameters.file_tag>>)
@ -3662,7 +3506,7 @@ commands:
else
echo "Running <<parameters.tests>> $count times"
source ~/env3.7/bin/activate
source ~/env3.8/bin/activate
export PATH=$JAVA_HOME/bin:$PATH
java -version

View File

@ -1,5 +1,5 @@
--- config_template.yml 2023-11-10 16:50:30.517080584 +0000
+++ config_template.yml.PAID 2023-11-10 16:51:58.403988884 +0000
--- config_template.yml 2024-01-05 12:06:28.009687781 +0000
+++ config_template.yml.PAID 2024-01-05 12:09:25.083221646 +0000
@@ -157,20 +157,20 @@
j11_par_executor: &j11_par_executor
executor:
@ -142,7 +142,7 @@
j11_separate_jobs: &j11_separate_jobs
jobs:
@@ -1986,7 +2009,7 @@
@@ -1920,7 +1943,7 @@
target: testclasslist-system-keyspace-directory
j11_dtests_vnode:
@ -151,7 +151,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2000,7 +2023,7 @@
@@ -1934,7 +1957,7 @@
pytest_extra_args: '--use-vnodes --num-tokens=16 --skip-resource-intensive-tests'
j11_dtests_offheap:
@ -160,7 +160,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2014,7 +2037,7 @@
@@ -1948,7 +1971,7 @@
pytest_extra_args: '--use-vnodes --num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests'
j17_dtests_vnode:
@ -169,7 +169,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2029,7 +2052,7 @@
@@ -1963,7 +1986,7 @@
pytest_extra_args: '--use-vnodes --num-tokens=16 --skip-resource-intensive-tests'
j17_dtests_offheap:
@ -178,7 +178,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2044,7 +2067,7 @@
@@ -1978,7 +2001,7 @@
pytest_extra_args: '--use-vnodes --num-tokens=16 --use-off-heap-memtables --skip-resource-intensive-tests'
j11_dtests:
@ -187,7 +187,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2058,7 +2081,7 @@
@@ -1992,7 +2015,7 @@
pytest_extra_args: '--skip-resource-intensive-tests'
j17_dtests:
@ -196,7 +196,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2073,7 +2096,7 @@
@@ -2007,7 +2030,7 @@
pytest_extra_args: '--skip-resource-intensive-tests'
j11_upgrade_dtests:
@ -205,34 +205,16 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2087,7 +2110,7 @@
@@ -2021,7 +2044,7 @@
pytest_extra_args: '--execute-upgrade-tests-only --upgrade-target-version-only --upgrade-version-selection all'
j11_cqlsh_dtests_py3_vnode:
- <<: *j11_par_executor
+ <<: *j11_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2102,7 +2125,7 @@
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j11_cqlsh_dtests_py3_offheap:
- <<: *j11_par_executor
+ <<: *j11_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2117,7 +2140,7 @@
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j11_cqlsh_dtests_py38_vnode:
- <<: *j11_par_executor
+ <<: *j11_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2135,7 +2158,7 @@
@@ -2039,7 +2062,7 @@
python_version: '3.8'
j11_cqlsh_dtests_py311_vnode:
@ -241,7 +223,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2153,7 +2176,7 @@
@@ -2057,7 +2080,7 @@
python_version: '3.11'
j11_cqlsh_dtests_py38_offheap:
@ -250,7 +232,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2171,7 +2194,7 @@
@@ -2075,7 +2098,7 @@
python_version: '3.8'
j11_cqlsh_dtests_py311_offheap:
@ -259,25 +241,16 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2189,7 +2212,7 @@
@@ -2093,7 +2116,7 @@
python_version: '3.11'
j11_cqlsh_dtests_py3:
- <<: *j11_par_executor
+ <<: *j11_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2204,7 +2227,7 @@
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j11_cqlsh_dtests_py38:
- <<: *j11_par_executor
+ <<: *j11_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2222,7 +2245,7 @@
@@ -2111,7 +2134,7 @@
python_version: '3.8'
j11_cqlsh_dtests_py311:
@ -286,34 +259,16 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2240,7 +2263,7 @@
@@ -2129,7 +2152,7 @@
python_version: '3.11'
j17_cqlsh_dtests_py3_vnode:
- <<: *j17_par_executor
+ <<: *j17_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2255,7 +2278,7 @@
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j17_cqlsh_dtests_py3_offheap:
- <<: *j17_par_executor
+ <<: *j17_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2270,7 +2293,7 @@
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j17_cqlsh_dtests_py38_vnode:
- <<: *j17_par_executor
+ <<: *j17_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2288,7 +2311,7 @@
@@ -2147,7 +2170,7 @@
python_version: '3.8'
j17_cqlsh_dtests_py311_vnode:
@ -322,7 +277,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2306,7 +2329,7 @@
@@ -2165,7 +2188,7 @@
python_version: '3.11'
j17_cqlsh_dtests_py38_offheap:
@ -331,7 +286,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2324,7 +2347,7 @@
@@ -2183,7 +2206,7 @@
python_version: '3.8'
j17_cqlsh_dtests_py311_offheap:
@ -340,25 +295,16 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2342,7 +2365,7 @@
@@ -2201,7 +2224,7 @@
python_version: '3.11'
j17_cqlsh_dtests_py3:
- <<: *j17_par_executor
+ <<: *j17_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2357,7 +2380,7 @@
extra_env_args: 'CQLSH_PYTHON=/usr/bin/python3.7'
j17_cqlsh_dtests_py38:
- <<: *j17_par_executor
+ <<: *j17_large_par_executor
steps:
- attach_workspace:
at: /home/cassandra
@@ -2375,7 +2398,7 @@
@@ -2219,7 +2242,7 @@
python_version: '3.8'
j17_cqlsh_dtests_py311:
@ -367,7 +313,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2393,7 +2416,7 @@
@@ -2237,7 +2260,7 @@
python_version: '3.11'
j11_dtests_large_vnode:
@ -376,7 +322,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2407,7 +2430,7 @@
@@ -2251,7 +2274,7 @@
pytest_extra_args: '--use-vnodes --num-tokens=16 --only-resource-intensive-tests --force-resource-intensive-tests'
j11_dtests_large:
@ -385,7 +331,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2421,7 +2444,7 @@
@@ -2265,7 +2288,7 @@
pytest_extra_args: '--only-resource-intensive-tests --force-resource-intensive-tests'
j17_dtests_large_vnode:
@ -394,7 +340,7 @@
steps:
- attach_workspace:
at: /home/cassandra
@@ -2435,7 +2458,7 @@
@@ -2279,7 +2302,7 @@
pytest_extra_args: '--use-vnodes --num-tokens=16 --only-resource-intensive-tests --force-resource-intensive-tests'
j17_dtests_large:

View File

@ -8,6 +8,7 @@
* Add the ability to disable bulk loading of SSTables (CASSANDRA-18781)
* Clean up obsolete functions and simplify cql_version handling in cqlsh (CASSANDRA-18787)
Merged from 5.0:
* Upgrade Python driver to 3.29.0 (CASSANDRA-19245)
* Creating a SASI index after creating an SAI index does not break secondary index queries (CASSANDRA-18939)
* Optionally fail when a non-partition-restricted query is issued against an index (CASSANDRA-18796)
* Add a startup check to fail startup when using invalid configuration with certain Kernel and FS type (CASSANDRA-19196)

View File

@ -271,8 +271,8 @@ Upgrading
---------
- Default disk_access_mode value changed from "auto" to "mmap_index_only". Override this setting with "disk_access_mode: auto" on
cassandra.yaml to keep the previous default. See CASSANDRA-19021 for details.
- The minimumn Python version to run cqlsh has been bumped from 3.6 to 3.7. Python 3.6 is past its end-of-life, and
3.7 is the minimum version supported by the Python driver.
- The Python version required to run cqlsh has been bumped from 3.6+ to 3.8-3.11. Python 3.6 and 3.7 are past their
end-of-life, and 3.8 is now the minimum version supported by the Python driver.
- Java 8 has been removed. Lowest supported version is Java 11.
- Ephemeral marker files for snapshots done by repairs are not created anymore,
there is a dedicated flag in snapshot manifest instead. On upgrade of a node to this version, on node's start, in case there

View File

@ -62,8 +62,8 @@ is_supported_version() {
version=$1
major_version="${version%.*}"
minor_version="${version#*.}"
# python 3.7+ is supported
if [ "$major_version" = 3 ] && [ "$minor_version" -ge 7 ]; then
# python 3.8-3.11 is supported
if [ "$major_version" = 3 ] && [ "$minor_version" -ge 8 ] && [ "$minor_version" -le 11 ]; then
echo "supported"
else
echo "unsupported"
@ -80,7 +80,7 @@ run_if_supported_version() {
exec "$interpreter" "$($interpreter -c "import os; print(os.path.dirname(os.path.realpath('$0')))")/cqlsh.py" "$@"
exit
else
echo "Warning: unsupported version of Python:" $version >&2
echo "Warning: unsupported version of Python, required 3.8-3.11 but found" $version >&2
fi
fi
}

View File

@ -21,8 +21,8 @@ import platform
import sys
from glob import glob
if sys.version_info < (3, 7):
sys.exit("\ncqlsh requires Python 3.7+\n")
if sys.version_info < (3, 8) or sys.version_info >= (3, 12):
sys.exit("\ncqlsh requires Python 3.8-3.11\n")
# see CASSANDRA-10428
if platform.python_implementation().startswith('Jython'):
@ -56,7 +56,7 @@ if cql_zip:
sys.path.insert(0, os.path.join(cql_zip, 'cassandra-driver-' + ver))
# the driver needs dependencies
third_parties = ('six-', 'pure_sasl-', 'wcwidth-')
third_parties = ('pure_sasl-', 'wcwidth-')
for lib in third_parties:
lib_zip = find_zip(lib)

View File

@ -23,7 +23,7 @@ Deploying on older Linux versions is not recommended unless you have previous ex
include::cassandra:partial$java_version.adoc[]
* To use the CQL shell `cqlsh`, install the latest version of Python 3.7+.
* To use the CQL shell `cqlsh`, install the latest version of Python 3.8-3.11.
To verify that you have the correct version of Python installed, type `python --version`.

Binary file not shown.

View File

@ -15,4 +15,4 @@
# limitations under the License.
#
FROM ubuntu:bionic
RUN apt-get update && apt-get install -y python3-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
RUN apt-get update && apt-get install -y python3-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1

View File

@ -10,4 +10,4 @@
# See the License for the specific language governing permissions and
# limitations under the License.
FROM ubuntu:bionic
RUN apt-get update && apt-get install -y python3.7-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.7 1
RUN apt-get update && apt-get install -y python3.11-minimal && update-alternatives --install /usr/bin/python python /usr/bin/python3.11 1

View File

@ -3,7 +3,7 @@
This directory contains code primarily for cqlsh. cqlsh uses cqlshlib in this directory.
== Requirements
. Python 3.7+ (for cqlsh)
. Python 3.8-3.11 (for cqlsh)
. virtualenv
. Docker (optional)

View File

@ -43,7 +43,7 @@ export CASSANDRA_DIR=${WORKSPACE}
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')
python_version="3.7"
python_version="3.8"
command -v python3 >/dev/null 2>&1 && python_version="$(python3 -V | awk '{print $2}' | awk -F'.' '{print $1"."$2}')"
export TESTSUITE_NAME="cqlshlib.python${python_version}.jdk${java_version}"

View File

@ -36,7 +36,7 @@ DEFAULT_CQLSH_TERM = 'xterm'
try:
Pattern = re._pattern_type
except AttributeError:
# Python 3.7+
# Python 3.8-3.11
Pattern = re.Pattern

View File

@ -17,7 +17,7 @@
#
#
-e git+https://github.com/datastax/python-driver.git@cassandra-test#egg=cassandra-driver
-e git+https://github.com/datastax/python-driver.git@3.29.0#egg=cassandra-driver
# Used ccm version is tracked by cassandra-test branch in ccm repo. Please create a PR there for fixes or upgrades to new releases.
-e git+https://github.com/riptano/ccm.git@cassandra-test#egg=ccm
coverage