Commit Graph

494 Commits

Author SHA1 Message Date
Benedict Elliott Smith a0dc6f857b Introduce AccordExecutorSignalLoop that aims to reduce lock contention:
- consumer and producer threads wait signal without acquiring the lock first
 - lock owners may prepare more work than they need, moving some dynamically-adjusted portion of the work from the prioritised lock-managed structures onto a non-blocking queue, so that other threads may consume work from there; the portion is continually micro-adjusted to target some available work whenever the lock is acquired.
 - adopts/supports some features of the SEPExecutor:
  - threads may auto-adjust the number of running threads based on how much time is collectively spent waiting, to minimise time spent signalling
  - consumers may (timed-sleep) poll rather than await a signal, reducing the number of kernel interactions needed; relying on the auto-adjustment to bound the time the scheduler spends waking threads with no work to do
Also Fix:
 - Client Result should not be persisted or included in Command object at any time

patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-21375
2026-05-16 21:12:49 +01:00
Benedict Elliott Smith 8ad8e56378 Artificial Latency Injection
patch by Benedict; reviewed by Alex Petrov and Ariel Weisberg for CASSANDRA-17024
2026-05-13 14:20:56 +01:00
Josh McKenzie 84016ab151 Quiet down the noisiness on empty array deref in post-checkout hook
Patch by Josh McKenzie; reviewed by David Capwell for CASSANDRA-21364

Follow-up patch
2026-05-11 16:53:45 -04:00
Josh McKenzie f55c4d2a9b Add BUILD_OFFLINE capability to skip post-checkout submodule init
Patch by Josh McKenzie; reviewed by David Capwell for CASSANDRA-21364
2026-05-11 15:03:05 -04:00
Dmitry Konstantinov e64e119c8d Add no-build-accord Ant option to be able to skip Accord module rebuild
patch by Dmitry Konstantinov; reviewed by Stefan Miklosovic for CASSANDRA-21350
2026-05-06 12:42:26 +01:00
Stefan Miklosovic 3f1593064c
Include cassandra-6.0 in build/run-tests.sh and .circleci/config.yml
This is the continuation of CASSANDRA-21319 to make branching of cassandra-6.0 done.
The change in .build/run-ci will start to route jobs to cassandra-6.0 pipeline in pre-ci.

patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-21319
2026-04-20 16:56:14 +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
mck 5f9de8ca13
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Rate limit password changes
2026-03-16 22:06:27 +01:00
Stefan Miklosovic 56c3d72fe8
Merge branch 'cassandra-5.0' into trunk 2026-02-17 11:46:44 +11:00
Stefan Miklosovic 60c7f05138
Cleanup of dependency-check-suppressions.xml, suppressing CVE-2025-67735
patch by Stefan Miklosovic; reviewed by Michael Semb Wever for CASSANDRA-21159
2026-02-17 11:40:01 +11:00
MichaelMorris 8b6195a975
Upgrade logback version to 1.5.18 and slf4j dependencies to 2.0.17
Dropback of CASSANDRA-20429 to cassandra-5.0

patch by Michael Morris; reviewed by Stefan Miklosovic, Brandon Williams for CASSANDRA-21137
2026-02-06 13:28:03 +11: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
Yaman Ziadeh 7c3c3a1d86 Initial async-profiler Nodetool implementation
patch by Yaman Ziadeh, Bernardo Botella, Stefan Miklosovic; reviewed by Dmitry Konstantinov, Jyothsna Konisa for CASSANDRA-20854
2026-01-12 15:02:13 -08:00
Maxim Muzafarov 9a30a3469c
Add configuration for sorted imports in source files
Patch by Maxim Muzafarov; Reviewed by Michael Semb Wever for CASSANDRA-17925
2025-12-30 22:34:12 +01:00
Abe Ratnofsky 66a7a36647 Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Switch lz4-java to at.yawk.lz4 version due to CVE
2025-12-18 11:02:13 -08:00
Abe Ratnofsky 6fd83986e9 Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  Switch lz4-java to at.yawk.lz4 version due to CVE
2025-12-18 10:59:09 -08:00
Dmitry Konstantinov d2c48faf71 Jenkins: increase splits for simulator-dtest to 2 (support for multiple splits is added) and for test-burn to 4
Patch by Dmitry Konstantinov; reviewed by Michael Semb Wever, Jyothsna Konisa for CASSANDRA-21082
2025-12-17 21:33:31 +00:00
Doug Rohrer d40e4ecc09 Merge branch 'cassandra-5.0' into trunk 2025-10-24 14:40:15 -04:00
Doug Rohrer b4dcef7841 Merge branch 'cassandra-4.1' into cassandra-5.0 2025-10-24 14:26:39 -04:00
Mick Semb Wever c501c338e6
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Add a github action that runs .build/docker/check-code.sh
2025-10-13 12:35:36 +02:00
Mick Semb Wever 8aad9d6c05
Add a github action that runs .build/docker/check-code.sh
Runs on each supported JDK

 patch by Mick Semb Wever; reviewed by Štefan Miklošovič for CASSANDRA-20931
2025-10-13 12:34:51 +02:00
Stefan Miklosovic a94736ca50
Update snakeyaml to 2.4
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-20928
2025-09-26 20:07:57 +02:00
Stefan Miklosovic f96353cfd1
Merge branch 'cassandra-5.0' into trunk 2025-09-26 16:15:08 +02:00
Stefan Miklosovic ed04f46b27
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-09-26 16:08:54 +02:00
Stefan Miklosovic 4757411e94
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-09-26 16:06:15 +02:00
Stefan Miklosovic 0026c0dc4c
Update OWASP dependency-check to 12.1.6, suppress unrelevant CVEs
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-20924
2025-09-26 16:02:06 +02:00
Stefan Miklosovic 7b4fbde8e4
Update Netty to 4.1.125.Final
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-20925
2025-09-26 13:13:58 +02:00
Stefan Miklosovic 71871bee70
Merge branch 'cassandra-5.0' into trunk 2025-09-19 13:32:34 +02:00
Raymond Huffman a52d2ce783
Update jackson-dataformat-yaml to 2.19.2 and snakeyaml to 2.1
This is backport of CASSANDRA-18875 to 5.0 where we upgrade 2.1 of snakeyaml and bump jackson-dataformat-yaml to 2.19.2.

The change in trunk (5.1) is about excluding Jackson dependencies from wiremock so 2.19.2 of Jackson is used everywhere in test as well,
otherwise there would be Jackson annotations of 2.13.4 used.

patch by Raymond Huffman; reviewed by Mick Semb Wever and Stefan Miklosovic for CASSANDRA-18875

Co-authored-by: Griffin Davis <gcd@ibm.com>
2025-09-19 13:29:05 +02:00
Mick Semb Wever 5c7d8d8982
Merge branch 'cassandra-5.0' into trunk
* cassandra-5.0:
  Fix resolution of base job branch determination in .build/run-ci
2025-09-04 11:16:29 +02:00
Mick Semb Wever 8ccdbb88ed
Fix resolution of base job branch determination in .build/run-ci
patch by Mick Semb Wever; reviewed by Štefan Miklošovič for CASSANDRA-20875
2025-09-03 23:08:17 +02:00
Stefan Miklosovic deadaea157
Merge branch 'cassandra-5.0' into trunk 2025-09-01 10:27:32 +02:00
Stefan Miklosovic dd8839320f
Fix job name determination in .build/run-ci for trunk case
patch by Stefan Miklosovic; reviewed by Michael Semb Wever for CASSANDRA-20874
2025-09-01 10:26:57 +02:00
Stefan Miklosovic e57fdf1676
Merge branch 'cassandra-5.0' into trunk 2025-08-28 17:26:30 +02:00
Stefan Miklosovic decd51eb5d
ninja: add license to .build/run-ci.d/requirements.txt to pass rat check 2025-08-28 17:23:29 +02: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
Stefan Miklosovic 9598a96512
Merge branch 'cassandra-5.0' into trunk 2025-08-25 17:44:58 +02:00
Stefan Miklosovic af0197e195
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-08-25 17:41:43 +02:00
Stefan Miklosovic 6c068b999f
Merge branch 'cassandra-4.0' into cassandra-4.1 2025-08-25 17:38:44 +02:00
Stefan Miklosovic f9dbfd431e
Update Jackson to 2.19.2
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-20848
2025-08-25 17:34:38 +02:00
Stefan Miklosovic 7c6ae891e7
Merge branch 'cassandra-5.0' into trunk 2025-08-25 17:28:31 +02:00
Stefan Miklosovic 4a1c4052af
Merge branch 'cassandra-4.1' into cassandra-5.0 2025-08-25 17:26:09 +02:00
Maxim Muzafarov 94b251f3ce
Migrate all nodetool commands from airline to picocli
Replace io.airlift:airline dependency with info.picocli:picocli across
all nodetool command implementations. This migration includes:

- Convert 160+ nodetool command classes from airline to picocli
- Add AbstractCommand base class for commands and utility methods
- Add NodetoolCommand top-level class for the cli utility
- Update all command classes to use @Command, @Option, and @Parameters
- Add plain text files to test command help output
- Add mock test classes for improved test coverage and parse validation
- Modify test infrastructure to work with picocli-based commands
- Add new layouts for cli formatting to preserve backwards compatibility

The migration maintains backward compatibility while providing improved
command-line parsing, better help system, and more robust argument
validation through picocli enhanced features.

patch by Maxim Muzafarov; reviewed by Caleb Rackliffe, Dmitry Konstantinov, Stefan Miklosovic for CASSANDRA-17445
2025-07-26 18:19:18 +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
David Capwell f2dd1adccd Accords gradle build fails due to ephemeral issues with rat and checkstyle
patch by David Capwell; reviewed by Michael Semb Wever for CASSANDRA-20590
2025-05-02 11:27:50 -07:00