Support Java 25 and Spark 4.1, raise minimum to Java 17#3489
Open
porunov wants to merge 1 commit into
Open
Conversation
Draft
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #3489 +/- ##
============================================
- Coverage 76.35% 76.13% -0.23%
- Complexity 13424 13682 +258
============================================
Files 1012 1029 +17
Lines 60341 61923 +1582
Branches 7075 7231 +156
============================================
+ Hits 46076 47146 +1070
- Misses 11548 11881 +333
- Partials 2717 2896 +179 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Modernizes TinkerPop 4.0 to build and run on Java 25 and upgrades the Spark OLAP integration to Spark 4.1. Because Spark 4 requires Java 17 as a minimum, the project-wide minimum Java version is raised from 11 to 17. Java 25 support: - Groovy 4.0.25 -> 4.0.32 (bundled ASM parses Java 25 bytecode) - StringFactory: detect the Java 21+ lambda class name format ($$Lambda/) - LambdaRestrictionStrategy: match "lambda" case-insensitively - ImportGremlinPluginTest: account for Math.TAU added in Java 19 - gremlin-groovy: declare annotationProcessorPaths explicitly (JDK 23+ no longer runs classpath-discovered processors) and widen the javadoc groovy-stubs profile to all supported JDKs - gremlin-console: apply the neo4j-gremlin --add-opens flags for JDK 17+ Dependency upgrades: - Hadoop 3.4.2 -> 3.4.3 (uses the Subject.current()/callAs() replacement APIs) - Spark 3.5.4 -> 4.1.2, which is Scala 2.13 only and the first Spark line to support Java 25: spark-core_2.12 -> _2.13, Scala 2.13 source migration (JavaConversions -> CollectionConverters, WrappedArray -> immutable ArraySeq), and aligned Netty, jackson (via jackson-bom) and other transitive versions that Spark 4 requires - Netty 4.1.125 -> 4.2.7 (required by Spark 4) Java 17 baseline (breaking): - enforcer requireJavaVersion [11,18) -> [17,26); compiler release 11 -> 17 (and gremlin-groovy/gremlin-annotations release 8 -> 17) - build-test.yml: all jobs run on Java 17, plus a new Java 25 job; the Java 11 job is removed and coverage runs on the Java 17 job - Dockerfiles and developer docs updated to Java 17 Integration-test fixes for the Java 17 baseline (deep reflection into java.base is denied by default on Java 17, and TLS 1.3 is the default): - gremlin-server.sh: append the jdk17 --add-opens/--add-exports set to JAVA_OPTIONS so the standalone/Docker server can perform the deep reflection Kryo/Gryo needs - GremlinServerSslIntegrateTest: accept the alerts Java 17's TLS 1.3 raises for a missing/untrusted client certificate - gremlin-socket-server and gremlin-console test Docker images use Java 17 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Oleksandr Porunov <alexandr.porunov@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Modernizes TinkerPop 4.0 to build and run on Java 25 and upgrades the Spark OLAP integration to Spark 4.1. Because Spark 4 requires Java 17 as a minimum, the project-wide minimum Java version is raised from 11 to 17.
Java 25 support:
Dependency upgrades:
Java 17 baseline (breaking):
Validated with a full
mvn clean installon both Java 17 and Java 25 (all JVM modules, including hadoop-gremlin and spark-gremlin).