This is an automated email from the ASF dual-hosted git repository. mck pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/cassandra.git
commit 1b2a15acc8aee465090d61613c7f57954c799ac1 Merge: 418223bddd 1e08f3bfa7 Author: mck <[email protected]> AuthorDate: Mon Jul 22 20:06:47 2024 +0200 Merge branch 'cassandra-5.0' into trunk * cassandra-5.0: remove centos7 and use vault mirror for ant-junit rpm download .build/README.md | 4 - .build/docker/_build-redhat.sh | 20 +--- .build/docker/almalinux-build.docker | 2 +- .build/docker/build-redhat.sh | 14 +-- .build/docker/centos7-build.docker | 86 -------------- CHANGES.txt | 1 + redhat/noboolean/README | 23 ---- redhat/noboolean/cassandra | 1 - redhat/noboolean/cassandra.conf | 1 - redhat/noboolean/cassandra.in.sh | 1 - redhat/noboolean/cassandra.spec | 219 ----------------------------------- redhat/noboolean/default | 1 - 12 files changed, 9 insertions(+), 364 deletions(-) diff --cc .build/README.md index 72a974afc4,46ab9dddcb..c9ae0e468f --- a/.build/README.md +++ b/.build/README.md @@@ -65,10 -65,10 +65,6 @@@ Build with a specific jdk .build/docker/build-redhat.sh rpm 11 - Build with centos7 and a specific jdk: -Build with legacy noboolean and a specific jdk: -- -- .build/docker/build-redhat.sh noboolean 11 -- Running Tests ------------- diff --cc .build/docker/_build-redhat.sh index 6d76b30bd6,6d76b30bd6..8ef72bf356 --- a/.build/docker/_build-redhat.sh +++ b/.build/docker/_build-redhat.sh @@@ -36,24 -36,24 +36,6 @@@ command -v rpmbuild >/dev/null 2>&1 || [ -d "${RPM_BUILD_DIR}/SOURCES" ] || mkdir -p ${RPM_BUILD_DIR}/{BUILD,BUILDROOT,RPMS,SOURCES,SPECS,SRPMS} --if [ "$1" == "-h" ]; then -- echo "$0 [-h] [dist_type]" -- echo "dist types are [rpm, noboolean] and rpm is default" -- exit 1 --fi -- --RPM_DIST=$1 --[ "x${RPM_DIST}" != "x" ] || RPM_DIST="rpm" -- --if [ "${RPM_DIST}" == "rpm" ]; then -- RPM_SPEC="redhat/cassandra.spec" --elif [ "${RPM_DIST}" == "noboolean" ]; then # noboolean -- RPM_SPEC="redhat/noboolean/cassandra.spec" --else -- echo >&2 "Only rpm and noboolean are valid dist_type arguments. Got ${RPM_DIST}" -- exit 1 --fi -- ################################ # # Main @@@ -116,7 -116,7 +98,7 @@@ cp ${DIST_DIR}/apache-cassandra-*-src.t CASSANDRA_VERSION=${CASSANDRA_VERSION/-/\~} command -v python >/dev/null 2>&1 || alias python=/usr/bin/python3 --rpmbuild --define="version ${CASSANDRA_VERSION}" --define="revision ${CASSANDRA_REVISION}" --define="_topdir ${RPM_BUILD_DIR}" -ba ${RPM_SPEC} ++rpmbuild --define="version ${CASSANDRA_VERSION}" --define="revision ${CASSANDRA_REVISION}" --define="_topdir ${RPM_BUILD_DIR}" -ba redhat/cassandra.spec cp ${RPM_BUILD_DIR}/SRPMS/*.rpm ${RPM_BUILD_DIR}/RPMS/noarch/*.rpm ${DIST_DIR} popd >/dev/null diff --cc .build/docker/build-redhat.sh index 35149855c7,adacccab6e..4163ce9153 --- a/.build/docker/build-redhat.sh +++ b/.build/docker/build-redhat.sh @@@ -17,8 -17,8 +17,8 @@@ if [ "$1" == "-h" ]; then -- echo "$0 [-h] [rpm|noboolean] [<java_version>]" - echo " build redhat packages, specify noboolean for centos7 compatibility" - echo " build redhat packages, specify noboolean for legacy (centos7) compatibility" ++ echo "$0 [-h] [rpm] [<java_version>]" ++ echo " build redhat packages" exit 1 fi @@@ -26,13 -26,7 +26,11 @@@ rpm_dist=$1 java_version=$2 - if [ "${rpm_dist}" == "noboolean" ]; then - dist_name="centos7" - else # noboolean - dist_name="almalinux" ++if [ -n "${rpm_dist}" ] && [ "rpm" != "${rpm_dist}" ]; then ++ echo >&2 "Only rpm is a valid dist_type arguments. Got ${rpm_dist}" ++ exit 1 +fi - echo echo "===" echo "WARNING: this script modifies local versioned files" @@@ -42,5 -36,5 +40,5 @@@ ech # # Creates the redhat package - $(dirname "$0")/_docker_run.sh ${dist_name}-build.docker docker/_build-redhat.sh "${java_version}" ${rpm_dist} -$(dirname "$0")/_docker_run.sh almalinux-build.docker docker/_build-redhat.sh "${java_version}" ${rpm_dist} ++$(dirname "$0")/_docker_run.sh almalinux-build.docker docker/_build-redhat.sh "${java_version}" exit $? diff --cc CHANGES.txt index 7c6c10cd50,11c9dac3ef..d70641781a --- a/CHANGES.txt +++ b/CHANGES.txt @@@ -1,65 -1,10 +1,66 @@@ -5.0.1 - - -5.0-rc2 - - -5.0-rc1 +5.1 ++ * Support for noboolean rpm (centos7 compatible) packages removed (CASSANDRA-19787) + * Allow threads waiting for the metadata log follower to be interrupted (CASSANDRA-19761) + * Support dictionary lookup for CassandraPasswordValidator (CASSANDRA-19762) + * Disallow denylisting keys in system_cluster_metadata (CASSANDRA-19713) + * Fix gossip status after replacement (CASSANDRA-19712) + * Ignore repair requests for system_cluster_metadata (CASSANDRA-19711) + * Avoid ClassCastException when verifying tables with reversed partitioner (CASSANDRA-19710) + * Always repair the full range when repairing system_cluster_metadata (CASSANDRA-19709) + * Use table-specific partitioners during Paxos repair (CASSANDRA-19714) + * Expose current compaction throughput in nodetool (CASSANDRA-13890) + * CEP-24 Password validation / generation (CASSANDRA-17457) + * Reconfigure CMS after replacement, bootstrap and move operations (CASSANDRA-19705) + * Support querying LocalStrategy tables with any partitioner (CASSANDRA-19692) + * Relax slow_query_log_timeout for MultiNodeSAITest (CASSANDRA-19693) + * Audit Log entries are missing identity for mTLS connections (CASSANDRA-19669) + * Add support for the BETWEEN operator in WHERE clauses (CASSANDRA-19604) + * Replace Stream iteration with for-loop for SimpleRestriction::bindAndGetClusteringElements (CASSANDRA-19679) + * Consolidate logging on trace level (CASSANDRA-19632) + * Expand DDL statements on coordinator before submission to the CMS (CASSANDRA-19592) + * Fix number of arguments of String.format() in various classes (CASSANDRA-19645) + * Remove unused fields from config (CASSANDRA-19599) + * Refactor Relation and Restriction hierarchies (CASSANDRA-19341) + * Raise priority of TCM internode messages during critical operations (CASSANDRA-19517) + * Add nodetool command to unregister LEFT nodes (CASSANDRA-19581) + * Add cluster metadata id to gossip syn messages (CASSANDRA-19613) + * Reduce heap usage occupied by the metrics (CASSANDRA-19567) + * Improve handling of transient replicas during range movements (CASSANDRA-19344) + * Enable debounced internode log requests to be cancelled at shutdown (CASSANDRA-19514) + * Correctly set last modified epoch when combining multistep operations into a single step (CASSANDRA-19538) + * Add new TriggersPolicy configuration to allow operators to disable triggers (CASSANDRA-19532) + * Use Transformation.Kind.id in local and distributed log tables (CASSANDRA-19516) + * Remove period field from ClusterMetadata and metadata log tables (CASSANDRA-19482) + * Enrich system_views.pending_hints vtable with hints sizes (CASSANDRA-19486) + * Expose all dropwizard metrics in virtual tables (CASSANDRA-14572) + * Ensured that PropertyFileSnitchTest do not overwrite cassandra-toploogy.properties (CASSANDRA-19502) + * Add option for MutualTlsAuthenticator to restrict the certificate validity period (CASSANDRA-18951) + * Fix StorageService::constructRangeToEndpointMap for non-distributed keyspaces (CASSANDRA-19255) + * Group nodetool cms commands into single command group (CASSANDRA-19393) + * Register the measurements of the bootstrap process as Dropwizard metrics (CASSANDRA-19447) + * Add LIST SUPERUSERS CQL statement (CASSANDRA-19417) + * Modernize CQLSH datetime conversions (CASSANDRA-18879) + * Harry model and in-JVM tests for partition-restricted 2i queries (CASSANDRA-18275) + * Refactor cqlshmain global constants (CASSANDRA-19201) + * Remove native_transport_port_ssl (CASSANDRA-19397) + * Make nodetool reconfigurecms sync by default and add --cancel to be able to cancel ongoing reconfigurations (CASSANDRA-19216) + * Expose auth mode in system_views.clients, nodetool clientstats, metrics (CASSANDRA-19366) + * Remove sealed_periods and last_sealed_period tables (CASSANDRA-19189) + * Improve setup and initialisation of LocalLog/LogSpec (CASSANDRA-19271) + * Refactor structure of caching metrics and expose auth cache metrics via JMX (CASSANDRA-17062) + * Allow CQL client certificate authentication to work without sending an AUTHENTICATE request (CASSANDRA-18857) + * Extend nodetool tpstats and system_views.thread_pools with detailed pool parameters (CASSANDRA-19289) + * Remove dependency on Sigar in favor of OSHI (CASSANDRA-16565) + * Simplify the bind marker and Term logic (CASSANDRA-18813) + * Limit cassandra startup to supported JDKs, allow higher JDKs by setting CASSANDRA_JDK_UNSUPPORTED (CASSANDRA-18688) + * Standardize nodetool tablestats formatting of data units (CASSANDRA-19104) + * Make nodetool tablestats use number of significant digits for time and average values consistently (CASSANDRA-19015) + * Upgrade jackson to 2.15.3 and snakeyaml to 2.1 (CASSANDRA-18875) + * Transactional Cluster Metadata [CEP-21] (CASSANDRA-18330) + * Add ELAPSED command to cqlsh (CASSANDRA-18861) + * 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: * Move bcpkix-jdk18on to build dependencies, update to 1.78 and explicitly enumerate transitive dependencies (CASSANDRA-19739) * Avoid streams in the common case for UpdateTransaction creation (CASSANDRA-19675) * Only wait until native_transport_timeout for dispatcher to finish (CASSANDRA-19697) diff --cc redhat/noboolean/README index 33ab959e2b,33ab959e2b..0000000000 deleted file mode 100644,100644 --- a/redhat/noboolean/README +++ /dev/null @@@ -1,23 -1,23 +1,0 @@@ --# --# Licensed to the Apache Software Foundation (ASF) under one --# or more contributor license agreements. See the NOTICE file --# distributed with this work for additional information --# regarding copyright ownership. The ASF licenses this file --# to you under the Apache License, Version 2.0 (the --# "License"); you may not use this file except in compliance --# with the License. You may obtain a copy of the License at --# --# http://www.apache.org/licenses/LICENSE-2.0 --# --# Unless required by applicable law or agreed to in writing, software --# distributed under the License is distributed on an "AS IS" BASIS, --# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --# See the License for the specific language governing permissions and --# limitations under the License. --# -- --These files create the 'noboolean' rpm packaging, using the same procedure as normal. --These differ from the other packages by not using boolean dependency logic, intended for --systems using rpmlib < 4.13. -- --See CASSANDRA-17765 for more information. diff --cc redhat/noboolean/cassandra index d9af9adbce,d9af9adbce..0000000000 deleted file mode 120000,120000 --- a/redhat/noboolean/cassandra +++ /dev/null @@@ -1,1 -1,1 +1,0 @@@ --../cassandra diff --cc redhat/noboolean/cassandra.conf index 7c12fb6720,7c12fb6720..0000000000 deleted file mode 120000,120000 --- a/redhat/noboolean/cassandra.conf +++ /dev/null @@@ -1,1 -1,1 +1,0 @@@ --../cassandra.conf diff --cc redhat/noboolean/cassandra.in.sh index 115b45ba92,115b45ba92..0000000000 deleted file mode 120000,120000 --- a/redhat/noboolean/cassandra.in.sh +++ /dev/null @@@ -1,1 -1,1 +1,0 @@@ --../cassandra.in.sh diff --cc redhat/noboolean/cassandra.spec index e151f03878,833d341eb3..0000000000 deleted file mode 100644,100644 --- a/redhat/noboolean/cassandra.spec +++ /dev/null @@@ -1,219 -1,219 +1,0 @@@ --# --# Licensed to the Apache Software Foundation (ASF) under one --# or more contributor license agreements. See the NOTICE file --# distributed with this work for additional information --# regarding copyright ownership. The ASF licenses this file --# to you under the Apache License, Version 2.0 (the --# "License"); you may not use this file except in compliance --# with the License. You may obtain a copy of the License at --# --# http://www.apache.org/licenses/LICENSE-2.0 --# --# Unless required by applicable law or agreed to in writing, software --# distributed under the License is distributed on an "AS IS" BASIS, --# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. --# See the License for the specific language governing permissions and --# limitations under the License. --# -- --%define __jar_repack %{nil} --# Turn off the brp-python-bytecompile script and mangling shebangs for Python scripts --%global __os_install_post %(echo '%{__os_install_post}' | sed -e 's!/usr/lib[^[:space:]]*/brp-python-bytecompile[[:space:]].*$!!g' -e 's!/usr/lib[^[:space:]]*/brp-mangle-shebangs[[:space:]].*$!!g') -- --# rpmbuild should not barf when it spots we ship --# binary executable files in our 'noarch' package --%define _binaries_in_noarch_packages_terminate_build 0 -- --%define __python /usr/bin/python3 -- --%global username cassandra -- --# input of ~alphaN, ~betaN, ~rcN package versions need to retain upstream '-alphaN, etc' version for sources --%define upstream_version %(echo %{version} | sed -r 's/~/-/g') --%define relname apache-cassandra-%{upstream_version} -- --# default DIST_DIR to build --%global _get_dist_dir %(echo "${DIST_DIR:-build}") -- --Name: cassandra --Version: %{version} --Release: %{revision} --Summary: Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. -- --Group: Development/Libraries --License: Apache Software License 2.0 --URL: http://cassandra.apache.org/ --Source0: %{relname}-src.tar.gz --BuildRoot: %{_tmppath}/%{relname}root-%(%{__id_u} -n) -- --BuildRequires: ant >= 1.9 --BuildRequires: ant-junit >= 1.9 -- --Requires: java-11-headless --Requires: python(abi) >= 3.6 --Requires: procps-ng >= 3.3 --Requires(pre): user(cassandra) --Requires(pre): group(cassandra) --Requires(pre): shadow-utils --Provides: user(cassandra) --Provides: group(cassandra) -- --BuildArch: noarch -- --# Don't examine the .so files we bundle for dependencies --AutoReqProv: no -- --%description --Cassandra is a distributed (peer-to-peer) system for the management and storage of structured data. -- --%prep --%setup -q -n %{relname}-src -- --%build --export LANG=en_US.UTF-8 --export JAVA_TOOL_OPTIONS="-Dfile.encoding=UTF-8" --ant jar -Dversion=%{upstream_version} -Dno-checkstyle=true -Drat.skip=true -Dant.gen-doc.skip=true -- --%install --%{__rm} -rf %{buildroot} --mkdir -p %{buildroot}/%{_sysconfdir}/%{username} --mkdir -p %{buildroot}/usr/share/%{username} --mkdir -p %{buildroot}/usr/share/%{username}/lib --mkdir -p %{buildroot}/%{_sysconfdir}/%{username}/default.conf --mkdir -p %{buildroot}/%{_sysconfdir}/rc.d/init.d --mkdir -p %{buildroot}/%{_sysconfdir}/security/limits.d --mkdir -p %{buildroot}/%{_sysconfdir}/default --mkdir -p %{buildroot}/usr/sbin --mkdir -p %{buildroot}/usr/bin --mkdir -p %{buildroot}/var/lib/%{username}/commitlog --mkdir -p %{buildroot}/var/lib/%{username}/data --mkdir -p %{buildroot}/var/lib/%{username}/saved_caches --mkdir -p %{buildroot}/var/lib/%{username}/hints --mkdir -p %{buildroot}/var/run/%{username} --mkdir -p %{buildroot}/var/log/%{username} --( cd pylib && %{__python} setup.py install --no-compile --root %{buildroot}; ) -- --# patches for data and log paths --patch -p1 < debian/patches/cassandra_yaml_dirs.diff --patch -p1 < debian/patches/cassandra_logdir_fix.diff --# uncomment hints_directory path --sed -i 's/^# hints_directory:/hints_directory:/' conf/cassandra.yaml -- --# remove other files not being installed --rm -f bin/stop-server --rm -f bin/*.orig --rm -f bin/cassandra.in.sh -rm -f lib/sigar-bin/*winnt* # strip segfaults on dll.. --rm -f tools/bin/cassandra.in.sh -- --# copy default configs --cp -pr conf/* %{buildroot}/%{_sysconfdir}/%{username}/default.conf/ -- --# step on default config with our redhat one --cp -p redhat/%{username}.in.sh %{buildroot}/usr/share/%{username}/%{username}.in.sh --cp -p redhat/%{username} %{buildroot}/%{_sysconfdir}/rc.d/init.d/%{username} --cp -p redhat/%{username}.conf %{buildroot}/%{_sysconfdir}/security/limits.d/ --cp -p redhat/default %{buildroot}/%{_sysconfdir}/default/%{username} -- --# copy cassandra bundled libs --cp -pr lib/* %{buildroot}/usr/share/%{username}/lib/ -- --# copy stress jar --cp -p %{_get_dist_dir}/tools/lib/stress.jar %{buildroot}/usr/share/%{username}/ -- --# copy fqltool jar --cp -p %{_get_dist_dir}/tools/lib/fqltool.jar %{buildroot}/usr/share/%{username}/ -- --# copy binaries --mv bin/cassandra %{buildroot}/usr/sbin/ --cp -p bin/* %{buildroot}/usr/bin/ --cp -p tools/bin/* %{buildroot}/usr/bin/ -- --# copy cassandra jar --cp %{_get_dist_dir}/apache-cassandra-%{upstream_version}.jar %{buildroot}/usr/share/%{username}/ -- --%clean --%{__rm} -rf %{buildroot} -- --%pre --getent group %{username} >/dev/null || groupadd -r %{username} --getent passwd %{username} >/dev/null || \ --useradd -d /var/lib/%{username} -g %{username} -M -r %{username} --exit 0 -- --%files --%defattr(0644,root,root,0755) --%doc CHANGES.txt LICENSE.txt README.asc NEWS.txt NOTICE.txt CASSANDRA-14092.txt --%attr(755,root,root) %{_bindir}/auditlogviewer --%attr(755,root,root) %{_bindir}/jmxtool --%attr(755,root,root) %{_bindir}/cassandra-stress --%attr(755,root,root) %{_bindir}/cqlsh --%attr(755,root,root) %{_bindir}/cqlsh.py --%attr(755,root,root) %{_bindir}/debug-cql --%attr(755,root,root) %{_bindir}/fqltool --%attr(755,root,root) %{_bindir}/generatetokens --%attr(755,root,root) %{_bindir}/nodetool --%attr(755,root,root) %{_bindir}/sstableloader --%attr(755,root,root) %{_bindir}/sstablescrub --%attr(755,root,root) %{_bindir}/sstableupgrade --%attr(755,root,root) %{_bindir}/sstableutil --%attr(755,root,root) %{_bindir}/sstableverify --%attr(755,root,root) %{_sbindir}/cassandra --%attr(755,root,root) /%{_sysconfdir}/rc.d/init.d/%{username} --%{_sysconfdir}/default/%{username} --%{_sysconfdir}/security/limits.d/%{username}.conf --/usr/share/%{username}* --%config(noreplace) /%{_sysconfdir}/%{username} --%attr(750,%{username},%{username}) %config(noreplace) /var/lib/%{username}/* --%attr(750,%{username},%{username}) /var/log/%{username}* --%attr(750,%{username},%{username}) /var/run/%{username}* --%{python_sitelib}/cqlshlib/ --%{python_sitelib}/cassandra_pylib*.egg-info -- --%post --alternatives --install /%{_sysconfdir}/%{username}/conf %{username} /%{_sysconfdir}/%{username}/default.conf/ 0 --exit 0 -- --%preun --# only delete alternative on removal, not upgrade --if [ "$1" = "0" ]; then -- alternatives --remove %{username} /%{_sysconfdir}/%{username}/default.conf/ --fi --exit 0 -- -- --%package tools --Summary: Extra tools for Cassandra. Cassandra is a highly scalable, eventually consistent, distributed, structured key-value store. --Group: Development/Libraries --Requires: cassandra = %{version}-%{revision} -- --%description tools --Cassandra is a distributed (peer-to-peer) system for the management and storage of structured data. --. --This package contains extra tools for working with Cassandra clusters. -- --%files tools --%attr(755,root,root) %{_bindir}/sstablepartitions --%attr(755,root,root) %{_bindir}/sstabledump --%attr(755,root,root) %{_bindir}/compaction-stress --%attr(755,root,root) %{_bindir}/sstableexpiredblockers --%attr(755,root,root) %{_bindir}/sstablelevelreset --%attr(755,root,root) %{_bindir}/sstablemetadata --%attr(755,root,root) %{_bindir}/sstableofflinerelevel --%attr(755,root,root) %{_bindir}/sstablerepairedset --%attr(755,root,root) %{_bindir}/sstablesplit --%attr(755,root,root) %{_bindir}/auditlogviewer --%attr(755,root,root) %{_bindir}/jmxtool --%attr(755,root,root) %{_bindir}/fqltool --%attr(755,root,root) %{_bindir}/generatetokens --%attr(755,root,root) %{_bindir}/hash_password - %attr(755,root,root) %{_bindir}/addtocmstool -- -- --%changelog --# packaging changes, not software changes --* Thu May 04 2023 Mick Semb Wever <[email protected]> --- 5.0 --- RPM packaging brought in-tree. CASSANDRA-18133 --* Mon Dec 05 2016 Michael Shuler <[email protected]> --- 2.1.17, 2.2.9, 3.0.11, 3.10 --- Reintroduce RPM packaging diff --cc redhat/noboolean/default index 446d58f0d0,446d58f0d0..0000000000 deleted file mode 120000,120000 --- a/redhat/noboolean/default +++ /dev/null @@@ -1,1 -1,1 +1,0 @@@ --../default --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
