Commit Graph

1616 Commits

Author SHA1 Message Date
Jacek Lewandowski 4d61359c21 CASSANDRA-18785: Add support for Sonar analysis
Patch by Jacek Lewandowski; reviewed by Brandon Williams, Maxim Muzafarov, Michael Semb Wever, Stefan Miklosovic for CASSANDRA-18785
2023-11-13 14:48:28 +01:00
Mick Semb Wever 009d1ca9ee
Increment version to 5.0-beta1
ref: https://lists.apache.org/thread/ndycyjg4zh7zt31gm7w823v0gj506m63
2023-11-06 19:43:46 +01:00
Mick Semb Wever acf6281dd6
Increment version to 5.0-alpha3 2023-11-04 16:58:05 +01: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
Jacek Lewandowski 54ef3a1c7e Merge branch 'cassandra-4.1' into cassandra-5.0
* cassandra-4.1:
  JMH improvements - faster build and async profiler
2023-09-25 12:39:39 +02:00
Jacek Lewandowski 2747dbf091 Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  JMH improvements - faster build and async profiler
2023-09-25 12:39:38 +02:00
Jacek Lewandowski 3658ba58c7 JMH improvements - faster build and async profiler
- Don't create uber jar for microbenchmarks
- Add async profiler to jmh tests
- Benchmark classes names validation
- Add jmh.args property to make it possible passing extra args to JMH
- Add missing test/anttasks to idea configuration

Patch by Jacek Lewandowski; reviewed by Branimir Lambov, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18871
2023-09-25 12:39:36 +02:00
Ekaterina Dimitrova 2b23fc58aa Fix accessing java.nio.Bits.TOTAL_CAPACITY in Java17
patch by Ekaterina Dimitrova; reviewed by Stefan Miklosovoc and Mick Semb Wever for CASSANDRA-18848
2023-09-14 12:00:11 -04:00
Mick Semb Wever f19dd0bb13
Increment version to 5.0-alpha2 2023-09-08 16:12:12 +02:00
Ekaterina Dimitrova ae8abf5cd6 Closing some JDK internals post jamm upgrade
patch by Ekaterina Dimitrova; reviewed by Benjamin Lerer for CASSANDRA-18439
2023-08-30 10:47:01 -04:00
Brandon Williams b670b7b0c8 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-28 09:48:18 -05:00
Derek Chen-Becker 5e2985f10e Ensure unit tests honor tmp.dir
Modify unit tests so that any files created are rooted in the directory
specified by the "tmp.dir" Ant property. Ant already passes the value of
tmp.dir to the JVM's java.io.tmpdir parameter, so the primary changes are
to make use of Files.createTempDirectory to generate per-test work
directories. Also update the test checkstyle rules to catch any future
usage of hardcoded "/tmp".

Patch by Derek Chen-Becker; reviewed by bereng and brandonwilliams for CASSANDRA-18750
2023-08-28 09:47:13 -05:00
Jon Meredith d2f8e8e105 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-24 16:44:48 -06:00
Jon Meredith ac3b356063 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-24 16:43:53 -06:00
Jon Meredith 4034fbb6dd Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-24 16:34:44 -06:00
Doug Rohrer c6d7d070c5 IsolatedJMX should not release all TCPEndpoints on instance shutdown
patch by Doug Rohrer; reviewed by Jon Meredith, Stefan Miklosovic for CASSANDRA-18725
2023-08-24 16:32:28 -06:00
Stefan Miklosovic 8ddfbb6a3c
Increase version to 3.11.17 2023-08-18 18:08:32 +02:00
Brandon Williams 9e0ccf0f95 Merge branch 'cassandra-4.1' into cassandra-5.0 2023-08-18 10:14:40 -05:00
Brandon Williams f4ee77ceba Merge branch 'cassandra-4.0' into cassandra-4.1 2023-08-18 10:12:32 -05:00
Brandon Williams ba50ec9cd9 Merge branch 'cassandra-3.11' into cassandra-4.0 2023-08-18 10:10:11 -05:00
Brandon Williams 1dd38998a0 Merge branch 'cassandra-3.0' into cassandra-3.11 2023-08-18 10:09:49 -05:00
Brandon Williams 6bb585bf5d Warn when cqlsh does not match the server version it was built with
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18745
2023-08-18 10:08:52 -05:00
Mick Semb Wever 89fe2223b4
Update trunk to version 5.1
- update jvm-dtest supported upgrade paths
 - update circeci and in-tree scripts to build 5.0 dtest jar
 - update in-tree scripts for better repetitive testing of jvm-dtest-upgrade tests
 - fix jvm-dtest-upgrade tests that broke with 5.0 -> 5.1 upgrades
 - update docs trunk -> 5.0

 patch by Mick Semb Wever; reviewed by Brandon Williams for CASSANDRA-18705
2023-08-14 14:25:19 +02:00
Jacek Lewandowski 53d1644ff4 Upgraded to Netty 4.1.96
- Add Bouncycastle dependency
- Upgrade tcnative boringssl
- Add TLSv1.3 to encryption options tests
- Revert defaults after changes in Netty 4.1.75
- Remove Guava 18 from deps - we accidentally ended with Guava 30+ and 18 on the classpath because JimFS includes it as a transient dependency.

Patch by Jacek Lewandowski and Brandon Williams; reviewed by Ekaterina Dimitrova and Berenguer Blasi for CASSANDRA-17992

Co-authored-by: Jacek Lewandowski <lewandowski.jacek@gmail.com>
Co-authored-by: Brandon Williams <driftx@gmail.com>
2023-08-04 00:12:59 +02:00
Ekaterina Dimitrova cdefe1e8f9 Fix javadoc task
patch by Ekaterina Dimitrova and Zili Chen; reviewed by Jacek Lewandowski, Stefan Miklosovic and Brandon Williams for CASSANDRA-17687
2023-08-01 12:52:17 -04:00
Stefan Miklosovic 778f9f3ed5
Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-28 17:11:15 +02:00
Stefan Miklosovic a0fdda1976
Remove AssertJ from the production code
patch by Stefan Miklosovic; reviewed by Brandon Williams for CASSANDRA-18700
2023-07-28 17:09:52 +02:00
Jacek Lewandowski 738dfde735 Fix building dtest.jar (part 2)
Excludes META-INF/license/** from the unpacked content which fixes building dtest-jar on case-insensitive file systems

Patch by Jacek Lewandowski; reviewed by Brandon Williams and Ekaterina Dimitrova for CASSANDRA-18690
2023-07-27 10:14:15 +02:00
Ekaterina Dimitrova c1bf002234 Fix building dtest jar
patch by Jacek Lewandowski; reviewed by Ekaterina Dimitrova and Brandon Williams for CASSANDRA-18690
2023-07-25 16:14:34 -04:00
Ekaterina Dimitrova b92184e90c Update SyncUtil for JDK11 and JDK17
Remove --add-opens java.base/java.nio=ALL-UNNAMED which is not needed anymore

patch by Ekaterina Dimitrova; reviewed by Jacek Lewandowki for CASSANDRA-17909
2023-07-25 15:33:39 -04:00
Ekaterina Dimitrova b61bd93e57 Upgrade ecj version to 3.33.0
Bump source and target version to 11 for Java UDFs
ICompilationUnit has new default methods

patch by Ekaterina Dimitrova; reviewed by Andres de la Pena and Berenguer Blasi for CASSANRA-18190
2023-07-24 21:49:43 -04:00
Daniel Jatnieks fe8a6eb70f CASSANDRA-18180 Fix bulkLoaderSuccessfullyStreamsOverSsl fails with ClassCastException on JDK17
Fix ClassCastException  from jdk GaloisCounterMode when using JDK17 provider

Add javac exports to build.xml for java.base/jdk.internal.ref and java.base/sun.nio.ch

Replace checktestnameshelper ant task in build.xml with _check-test-names java target to be able to pass jvm args to TestNameCheckTask

patch by Dan Janieks; revewed by Ekaterina Dimitrova and Andres de la Pena for CASSANDRA-18180
2023-07-24 20:58:49 -04:00
Ekaterina Dimitrova 02f6353e1f Ninja fix: add fake eclipse-warnings task so that Jenkins doesn't fail until the build scripts are updated
This fix was already tested with Jenkins in 18190 which will be committed later
2023-07-24 16:10:22 -04:00
Ekaterina Dimitrova 3755934e52 Drop JDK8 and add JDK17, remove eclipse-warnings in favor of Checker Framework and upgrade checkstyle
patch by Ekaterina Dimitrova; reviewed by Jeremiah Jordan, Berenguer Blasi, Michael Semb Wever and Jacek Lewandowski for CASSANDRA-18255
2023-07-24 15:16:53 -04:00
Stefan Miklosovic 9bc0f89308
increment version to 4.1.4 2023-07-24 13:33:24 +02:00
Benjamin Lerer 600f4d9a69 Upgrade Jamm version to 0.4.0
This upgrade also fixes issues with PhantomReferences and the test problems from CASSANDRA-17884 anad CASSANDRA-16304

patch by Benjamin Lerer; reviewed by Ekaterina Dimitrova for CASSANDRA-18239
2023-07-22 14:55:49 -04:00
Jacek Lewandowski ad26ffcd57 Run checks in a separate task and fix build warnings
Patch by Jacek Lewandowski; reviewed by Mick Semb Wever and Stefan Miklosovic for CASSANDRA-18618
2023-07-21 05:57:37 +02:00
Stefan Miklosovic 2584f4f070
increment version to 4.0.12 2023-07-18 11:26:19 +02:00
Brandon Williams d6b305421a Merge branch 'cassandra-4.1' into trunk 2023-07-17 11:37:16 -05:00
Brandon Williams 7524ed5bfe Merge branch 'cassandra-4.0' into cassandra-4.1 2023-07-17 11:32:49 -05:00
Marianne Lyne Manaog a7bf85c4f3 Add jvm/test args to microbench
Patch by Marianne Lyne Manaog; reviewed by brandonwilliams and
edimitrova for CASSANDRA-18658
2023-07-17 11:29:19 -05:00
Jacek Lewandowski 17afd5e6be Merge branch 'cassandra-4.0' into cassandra-4.1
* cassandra-4.0:
  Moved jflex from runtime to build dependencies
2023-07-13 15:33:12 +02:00
Jacek Lewandowski 4f0865f769 Merge branch 'cassandra-3.11' into cassandra-4.0
* cassandra-3.11:
  Moved jflex from runtime to build dependencies
2023-07-13 15:33:11 +02:00
Jacek Lewandowski 32afc93b0d Moved jflex from runtime to build dependencies
Patch by Jacek Lewandowski; reviewed by Berenguer Blasi, Mick Semb Wever and Stefan Miklosovic for CASSANDRA-18664
2023-07-13 15:33:10 +02:00
Mick Semb Wever f038059e89
ninja-fix test*some targets need to pass a relative path to outfile
patch by Mick Semb Wever; reviewed by Stefan Miklosovic, Berenguer Blasi, Jacek Lewandowski for CASSANDRA-18133
2023-07-13 13:55:09 +02:00
Mick Semb Wever f5df4b219e
Move build and test scripts in-tree, under .build/
See .build/README.md  .Build and test scripts cover all CI activities in an CI agnostic manner. Scripts are found in non-docker and dockerised variants.

The non-docker scripts are found first under .build/ .These interact directly with ant, providing additional checks and environment setup. It is intended that what can be pushed down into the base ant build layer should be. The
debian and redhat build scripts are hidden under .build/docker because they are generally not usuable outside of their corresponding linux dists, and we don't want to encourage anything to the contrary.  Bring the artifact/deb/rpm
build scripts (and associated docker images) from cassandra-builds repo to the .build directory.  These packaging script for debian and redhat are now separated from the artifacts scripts. An additional build script check-code.sh
has been added that is solely responsible for all linter and code checks (includes owasp dependency checker).  Only JDK11 and JDK17 are supported (as JDK8 is soon to be dropped).  Scripts do not clean (or realclean) so that
scripts can be better pipelined, but `ant jar` was required to be added to circleci and ci-cassandra.a.o cqlsh-tests.  Scripts can define a custom BUILD_DIR (build.dir) which can permit running parrallel builds off the same source
(though not all tests support this, or their support for it has atrophied).  All build and test artifacts, results, and logs are found under build/ (or the BUILD_DIR).  The build local venv and .ccm directories are now also
created under build (or BUILD_DIR).  The test venv, logs and results are wiped each run.  Use a separate mktemp directory each run, under /tmp (respect /tmp responsibility, and python fails when tmpdir is on a docker volume).
Don't set CASSANDRA_HOME when running python dtests (and fail-fast if `ant artifacts` was used to build instead of `ant jar`).

The docker scripts are found lower down under .build/docker/ .These scripts re-used the non-docker scripts inside containers. The docker images are versioned controlled in the same directory as dockerfiles, and tagged by their
md5sums.  When running the docker scripts these docker images will, if not in the local registry, will first be attempted to be pulled from dockerhub and only then fallback to be built locally.  This allows the dockerfiles to be
modified in existing patches and be run in existing CI as-is.  Docker scripts timeout after one hour.  virtualenv-clone is used, re-using the python versioned venvs in the image saves time over creating new ones each run.  The inner-spliting of docker containers has been removed.  It added a lot of complexity, for the most part duplicating the splitting concept, for little performance gain.

Ant target 'generate-unified-test-report' added, used for aggregating test reports and printing a summary.

 patch by Mick Semb Wever; reviewed by Brandon Williams, Josh McKenzie, Maxim Muzafarov, Stefan Miklosovic for CASSANDRA-18133
2023-07-12 12:59:37 +02:00
Jakub Zytka ac25943876 Make `ant generate-idea-files` support the current JDK
ant generate-idea-files now support JDK 8, JDK 11 and JDK 17.
To add support of another JDK the java-jvmargs property must be set for the JDK in question (see how it's done in build.xml for Java 11 and 17)

Other minor, but notable changes are:
- test jvmargs are now added to idea run configurations
- .idea dir and project iml file are first removed and then recreated during `ant generate-idea-files`

 patch by Jakub Zytka; reviewed by Mick Semb Wever, Štefan Miklošovič, Ekaterina Dimitrova for CASSANDRA-18467
2023-07-05 10:37:54 -04:00
Brandon Williams 41e62e6147 Merge branch 'cassandra-4.0' into cassandra-4.1 2023-06-26 06:07:53 -05:00
Brandon Williams 776b33753b Upgrade snappy to 1.1.10.1
Patch by brandonwilliams; reviewed by bereng for CASSANDRA-18608
2023-06-26 06:06:38 -05:00
Bereng 9026f96234 Merge branch 'cassandra-4.1' into trunk
* cassandra-4.1:
  Move checkstyle files into .build
2023-06-26 10:12:07 +02:00