Commit Graph

55 Commits

Author SHA1 Message Date
mck 29a5c3f9c1
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Fix how ubuntu-test.docker curls to find the latest patch version of each release
2026-07-10 00:14:28 +02:00
mck 208d87513f
Fix how ubuntu-test.docker curls to find the latest patch version of each release
patch by Mick Semb Wever; reviewed Štefan Miklošovič for CASSANDRA-21489
2026-07-10 00:01:05 +02:00
Stefan Miklosovic 15f139b91e
Merge branch 'cassandra-5.0' into cassandra-6.0 2026-07-03 11:08:42 +02:00
arvindksi274-ksolves 464b2e54f4
Support Python 3.12 and 3.13 in cqlsh
patch by Arvind Kandpal; reviewed by Stefan Miklosovic, Michael Semb Wever for CASSANDRA-20997
2026-07-03 11:02:14 +02:00
Maxim Muzafarov 22eb0f9fb7
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Remove golang dependency in gen-doc and replace with python implementation
2026-06-08 21:54:28 +02:00
Maxim Muzafarov 8c992cb6a5
Remove golang dependency in gen-doc and replace with python implementation
patch by Maxim Muzafarov; reviewed by Dmitry Konstantinov for CASSANDRA-21432
2026-06-08 21:47:08 +02:00
mck 14ace18ae4
Merge branch 'cassandra-5.0' into cassandra-6.0
* cassandra-5.0:
  Preload dependencies in build docker images to reduce downloading at build/test/ci runtime
2026-06-05 21:04:09 +02:00
mck b78f654fff
Preload dependencies in build docker images to reduce downloading at build/test/ci runtime
Additional fixes
 - upgrade ubuntu-test.docker to ubuntu 22.04 (and some small fixes brought forward from CASSANDRA-20997)
 - (.jenkins/k8s) changes gke's small node pool from n2-highcpu-8 to e2-highcpu-8 (gke's own pod resources reqs increased)
 - (.jenkins/k8s) limit one agent pod per node (when jenkins is deployed in k8s using our helm)
 - (.jenkins/k8s) add the cassandra-6.0 job
 - pass maven.repo.local sys prop, if set, into accord's gradle build
 - check and fail on maven dependencies checksums when downloading
 - when on-the-fly building docker images add `--load` (podman compatbility)
 - newer python versions can use venv instead of virtualenv
 - rename ubuntu2004_test.docker to ubuntu-test.docker (in 5.0)
 - (Jenkinsfile) fix retries (which was no longer working when agents/nodes died, since CASSANDRA-20833)
 - (Jenkinsfile) @NonCPS where (now) needed
 - (Jenkinsfile) fix default value for the branch parameter (after a new helm deploy)
 - (.build/run-ci) fix missing parameters on jobs also at helm deploy time
 - (.build/run-ci) .git suffixes on repo urls are optional

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-21403
2026-06-05 21:01:30 +02:00
mck 50bf9b6aae
Generation of in-tree html and manpages documentation
patch by Mick Semb Wever; reviewed by Anthony Grasso for CASSANDRA-17260
2026-04-10 19:36:50 +02:00
Josh McKenzie 940739a488 Add JDK21 support
Patch by Josh McKenzie; reviewed by Mick Semb Wever and Ekaterina Dimitrova for CASSANDRA-18831

Co-authored-by: Aleksey Yeschenko
Co-authored-by: Achilles Benetopoulos
Co-authored-by: Mick Semb Wever
2026-02-02 12:39:05 -05:00
Mick Semb Wever cd707ba67d
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Implement microbench test target type
2026-01-27 20:22:38 +01:00
Mick Semb Wever b3ee9713f8
Implement microbench test target type
Add microbench-test target for quick test run
 Unify declaration and add assertions on target types
 Fix dirname usages for macos
 Parameter for docker_timeout
 Add more jmh class ignores (that are broken)
 Add disableResume() and better host debug to Jenkinsfile

 patch by Mick Semb Wever; reviewed by Dmitry Konstantinov for CASSANDRA-18873
2026-01-27 11:31:17 +01:00
mck 4a548b0f28
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  K8s immutable provisioning of ci-cassandra.apache.org jenkins instances
2025-08-27 23:39:44 +02:00
Richa Mishra 05f0e513e8
K8s immutable provisioning of ci-cassandra.apache.org jenkins instances
.build/run-ci is a a python script used to create and interact with k8s provisioned ci-cassandra.apache.org clones
See .build/run-ci.d/README.md for docs on usage.

.jenkins/k8s/ contains the k8s jenkins helm chart, JSaC configuration, and docker image for provisioning.

.build/run-ci.d/  contains python requirements and tests for .build/run-ci

 patch by Richa Mishra, Nishant Barola, Aleksandr Volochnev, Mick Semb Wever; reviewed by Richa Mishra, Nishant Barola, Aleksandr Volochnev, Brandon Hsieh, Mick Semb Wever, Brandon Williams for CASSANDRA-18145

Co-authored-by: Richa Mishra <richa.mishra@infracloud.io>
Co-authored-by: Nishant Barola <nishant.barola@infracloud.io>
Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
2025-08-27 23:33:16 +02:00
mck fdc1006443
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Remove auto-installation of golang when generating native protocol doc pages
2025-05-26 14:41:16 +02:00
mck 1066f6a427
Remove auto-installation of golang when generating native protocol doc pages
patch by Mick Semb Wever; reviewed by Štefan Miklošovič for CASSANDRA-20678
2025-05-26 14:39:58 +02:00
Andy Tolbert f80a234d1e Migrate sstableloader code to its own tools directory and artifact
As part of a broader effort to decouple java driver code from the
server code, this moves sstableloader to its own tools directory.

As sstableloader is also used as a library (CASSANDRA-10637), added
a new artifact 'cassandra-sstableloader' that will get deployed to
maven along with 'cassandra-all'.

While I expect this is likely a niche use case, this will allow users
to continue using BulkExport as a library.

Moves sstableloader-specific targets to its own build.xml in
tools/sstableloader/build.xml.

Also updates IDE project files and circleci to utilize new
sstableloader-specific targets.

patch by Andy Tolbert; reviewed by Stefan Miklosovic and Mick Semb Wever for CASSANDRA-20328
2025-05-18 12:35:52 -05:00
mck 0459108ca7
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  In ubuntu2004_test automatically find the latest available patch version for each C* major.minor
2025-04-27 20:19:55 +02:00
Mick Semb Wever ec26d53d6c
In ubuntu2004_test automatically find the latest available patch version for each C* major.minor
Inspired by https://github.com/apache/cassandra-builds/pull/108
Closes https://github.com/apache/cassandra/pull/4025

 patch by Mick Semb Wever; reviewed by Siyao (Jane) He for CASSJAVA-40
2025-04-27 20:18:52 +02:00
Mick Semb Wever 41b8fd0da4
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  ninja-fix – python2 compat on .build/generate-snyk-file
2025-03-30 14:03:39 +02:00
Mick Semb Wever 11eb601352
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  ninja-fix – python2 compat on .build/generate-snyk-file
2025-03-30 14:03:01 +02:00
mck 8e355197f0
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Repeatable test runs, and named command line options, for test scripts
2024-12-09 15:55:36 +11:00
Bereng 70ec86c576
Repeatable test runs, and named command line options, for test scripts
Each test type has a -repeat suffixed companion, used with the `-e REPEATED_TESTS_COUNT` option.

 patch by Berenguer Blasi; reviewed by Mick Semb Wever, Brandon Williams for CASSANDRA-18942
2024-12-09 15:52:23 +11:00
Mick Semb Wever 6bbe85ef51
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  increment to version 5.0.3
2024-10-20 00:57:05 +02:00
Mick Semb Wever a58fa2ce7f
increment to version 5.0.3 2024-10-19 15:15:12 +02:00
mck 410d6b412a
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Fix bash-completion for debian distro
2024-10-15 10:33:20 +02:00
mck 18960d6e34
Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Fix bash-completion for debian distro
2024-10-15 10:30:53 +02:00
Mick Semb Wever 27f50bfdaf
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Increment to version 5.0.2
2024-10-02 07:35:50 +02:00
Mick Semb Wever 6845359762
Increment to version 5.0.2 2024-10-02 07:30:18 +02:00
Mick Semb Wever 1a2d5d7360
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Exclude intensive dtests when not running dtest-upgrade*-large
2024-09-30 22:50:32 +03:00
Mick Semb Wever 2fb578263c
Exclude intensive dtests when not running dtest-upgrade*-large
Also add dtest-large-latest

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19963
2024-09-30 22:47:43 +03:00
mck 5bbdebac9c
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Reduce timeouts in upgrade_through_versions_test due to ccm downloads/building
2024-08-07 11:31:15 +02:00
mck f3e7413159
Reduce timeouts in upgrade_through_versions_test due to ccm downloads/building
In docker we want to use the existing populated ~/.ccm/repositories but don't want to write to the container's filesystem (it can leak fd).  So we set CCM_CONFIG_DIR to be in the run-python-dtest.XXXXXX tmpdir.  Previously this was done in the base (non-docker) script, but this is only needed in docker (and outside of docker we want the normal ~/.ccm usage)

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19813
2024-08-07 11:28:24 +02:00
mck 1b2a15acc8
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  remove centos7 and use vault mirror for ant-junit rpm download
2024-07-22 20:09:30 +02:00
mck 1e08f3bfa7
remove centos7 and use vault mirror for ant-junit rpm download
also remove noboolean in trunk

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19787
2024-07-22 20:04:43 +02:00
mck 17c92cef09
Increment version to 5.0-rc2 (test dockerfile) 2024-07-20 15:27:04 +02:00
Mick Semb Wever 461b8c42d2
Remove sid source from debian, was only needed for jdk8
- Added debug in testing
 - Propagate the $DEBUG env from docker to test scripts
 - Be verbose when a pipeline errors that not all tests would have been run
 - add timeout to each cell stage (scripts on a node can hang and the only alternative was to abort the whole pipeline)

 patch by Mick Semb Wever; reviewed by Ekaterina Dimitrova, Brandon Williams for CASSANDRA-19708
2024-07-05 18:25:16 +02:00
Brandon Williams 3262847ad7 Install ed from bullseye repo
Patch by brandonwilliams; reviewed by smiklosovic for CASSANDRA-19606
2024-05-02 08:48:38 -05:00
Mick Semb Wever 3c85def5cc
Honour parameter defaults between builds in Jenkinsfile
Also
– increase splits for jvm-dtests, container size and docker limits for simulator-dtest
– print exit status in .build/docker/run-tests.sh and  .build/docker/_docker_init_tests.sh
– add a summary list of test failures in ci_summary.html
– in ubuntu2004_test.docker make sure /home/cassandra exists and has correct perms (from Marcuse)
– when on ci-cassandra, replace use of copyArtifacts in Jenkinsfile generateTestReports() with manual wget of test files (copyArtifacts is notoriously slow, >4hrs in this case)
– copy ci_summary.html and results_details.tar.xz to nightlies
– capture generateTestReports logs
– stream xz where possible, instead of xz compressing afterwards
– fix ant version in centos7-build.docker
– remove docker login (was meangingless, if credentials exist then docker is logged in)
– prefetch docker images from jfrog (to reduce dockerhub pull rate limits), relates to CASSANDRA-18931
– use scripts from cassandra-builds to clean and report on agents, relates to CASSANDRA-18130
– use groovy elvis operators to avoid NPEs/failures on blank param values
– parallel jfrog pulls and cache it in jfrog too
– pin alpine docker image version
– don't stash .git (was causing AccessDeniedException on some unstash), needed fix so deb/rpm packaging worked on not-git work directories
– durabilityHint needs PERFORMANCE_OPTIMIZED, controller becomes scale bottleneck and breaks without it

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-19558
2024-04-26 11:36:32 +02:00
Brandon Williams 1a66347e70 Update in-tree docker versions 2024-04-17 05:54:00 -05:00
Mick Semb Wever f7c11bdcd4
Standalone Jenkinsfile
– ensure test file paths, and their suite names are unique (the latter was broken for cqlshlib and python dtests)
 – removal of properties and system-out in test xml happens in CassandraXMLJUnitResultFormatter
 – new jenkins agent labels and introduce agents sizes
 - ci_summary.html generation script, ref work submitted in apache/cassandra-builds#99
 – fix for stress-test and fqltool-test running on small
 - ant generate-test-report is limited to only running on individual test types (ci_parser.py provides ci_summary.html for the overview now)
 - each cell has a single retry, and the retry will happen on a different agent
 - on ci-cassandra the summary stage happens on the builtin, bc copyArtifacts on 15k+ files takes many hours otherwise
 - test-burn only needs two splits
 - dependency-check is disabled from the lint target until CASSANDRA-19213
 - add $DEBUG env var to in-tree scripts, turns on bash debug
 - fix FBUtilities' handling of gcp cos_containerd (kernel version comes with a trailing '+' character)

 patch by Aleks Volochnev, Mick Semb Wever; reviewed by Aleksandr Volochnev, Josh McKenzie, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18594

Co-authored-by: Aleksandr Volochnev <a.volochnev@gmail.com>
Co-authored-by: Mick Semb Wever <mck@apache.org>
Co-authored-by: Josh McKenzie <jmckenzie@apache.org>
Co-authored-by: Artem Chekunov <artem.v.chekunov@gmail.com>
2024-04-04 11:56:36 +02:00
Branimir Lambov 06ed1afc34 Add an optimized default configuration to tests and make it available for new users
This patch adds a new configuration file, cassandra_latest.yaml, which changes
some of the settings to use new features we usually recommend to users,
including:
- Big Trie-Indexed SSTables
- Trie memtables
- Unified Compaction Strategy
- Storage Attached Index
- Off-heap objects memtables
- Direct-write commit log
- No storage compatibility

These changes are applied in new test targets for unit, in-jvm and python dtests that are
run pre-commit. When changes are made to the new config file, python dtest will use it
directly, but unit and in-jvm dtests require updates, respectively, to latest_diff.yaml
and InstanceConfig.java.

patch by Branimir Lambov; reviewed by Berenguer Blasi for CASSANDRA-18753
2024-03-07 11:08:44 +02:00
Andrés de la Peña 8fd44ca8fc Upgrade Python driver to 3.29.0
patch by Andrés de la Peña; reviewed by Berenguer Blasi for CASSANDRA-19245
2024-01-19 17:14:57 +00:00
Mick Semb Wever f54177bb0a
Docker test container fixes: remove unused files/folders in image, and use envs instead of env-file
Adds warning and reduces container requested cpus if over docker daemon limits.

 patch by Mick Semb Wever; reviewed by Brandon Williams for INFRA-25202
2024-01-17 15:23:25 +01:00
Mick Semb Wever fe7997884d
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
2023-12-04 13:26:57 +01:00
Mick Semb Wever 02595b7119
ninja-fix typo "test-trie" 2023-11-15 08:46:15 -08:00
Mick Semb Wever f0655159e6
Add to jenkins pipeline: test-oa, test-system-keyspace-directory, test-trie, jvm-dtest-novnode, jvm-dtest-upgrade-novnode simulator-dtest, dtest-large-novnode, dtest-upgrade-large, dtest-upgrade-novnode, dtest-upgrade-novnode-large.
patch by Mick Semb Wever; reviewed by Berenguer Blasi, Brandon Williams for CASSANDRA-17989, CASSANDRA-18008, CASSANDRA-17145, CASSANDRA-18003
2023-11-14 21:56:57 -05:00
Andrés de la Peña b91c0fcb6e Change cqlsh's min required Python version from 3.6+ to 3.7+
patch by Andrés de la Peña; reviewed by Brandon Williams for CASSANDRA-18960
2023-11-14 11:43:00 +00:00
Mick Semb Wever 987d03c142
Fixes for in-tree scripts: offline mode, maybe-build for fqltool-test, jvm-dtest-upgrade
- jvm-dtest-upgrade script running in ci-cassandra.a.o (needs default bash)
 - add offline mode (to avoid `git fetch` before building dtest-jars on other branches),
 - avoid rebuilding in fqltool-test target, as is standard for test targets.
 - python detection and override
 - FileTest cleanup (tmp directory was left unreadable and undeletable)
 - reuse ~/.ccm (like normal)
 - remove support for python 3.6
 - remove docker volumes in image (they are added at run time)
 - remove superfluousjava version debug
 – extra mount for build/tmp as hack to prevent buggy hardlinks on overlay

 patch by Mick Semb Wever; reviewed by Brandon Williams, Ekaterina Dimitrova, Josh McKenzie, Maxim Muzafarov for CASSANDRA-18665
2023-10-16 16:01:28 +02:00
Mick Semb Wever f65eeae92b
Add python upgrade dtests with vnodes
patch by Mick Semb Wever; reviewed by Berenguer Blasi for CASSANDRA-18842
2023-09-27 11:59:37 +02:00