From 11098df14f7725bcda8d31f70fd3664522206ab2 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Tue, 12 May 2026 16:05:49 -0500 Subject: [PATCH 01/13] CASSJAVA-128 Upgrade Netty to 4.1.130 on 3.x --- pom.xml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pom.xml b/pom.xml index d179f45d04f..307f8982fc3 100644 --- a/pom.xml +++ b/pom.xml @@ -58,8 +58,8 @@ 1.7.25 1.7.25 19.0 - 4.1.119.Final - 2.0.70.Final + 4.1.130.Final + 2.0.74.Final 3.2.2 1.1.2.6 1.4.1 From 7307ea166aa16fddc14b222389b7ed0ced38aa36 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 15:34:34 -0500 Subject: [PATCH 02/13] Bump lz4 impl to at.yawk version with CVE fix --- driver-core/pom.xml | 2 +- .../src/test/java/com/datastax/driver/osgi/BundleOptions.java | 2 +- manual/compression/README.md | 4 ++-- pom.xml | 4 ++-- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/driver-core/pom.xml b/driver-core/pom.xml index 45aff62c17d..c1e1de9c392 100644 --- a/driver-core/pom.xml +++ b/driver-core/pom.xml @@ -76,7 +76,7 @@ - org.lz4 + at.yawk.lz4 lz4-java true diff --git a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java index e4d9ef9aaa0..a349764804b 100644 --- a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java +++ b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java @@ -97,7 +97,7 @@ public static CompositeOption lz4Bundle() { public Option[] getOptions() { return options( systemProperty("cassandra.compression").value(ProtocolOptions.Compression.LZ4.name()), - mavenBundle("org.lz4", "lz4-java", getVersion("lz4.version"))); + mavenBundle("at.yawk.lz4", "lz4-java", getVersion("lz4.version"))); } }; } diff --git a/manual/compression/README.md b/manual/compression/README.md index 6b25b5e5c69..3872699cc01 100644 --- a/manual/compression/README.md +++ b/manual/compression/README.md @@ -47,9 +47,9 @@ Maven dependency: ```xml - org.lz4 + at.yawk.lz4 lz4-java - 1.4.1 + 1.10.1 ``` diff --git a/pom.xml b/pom.xml index 307f8982fc3..ca99079ddfe 100644 --- a/pom.xml +++ b/pom.xml @@ -62,7 +62,7 @@ 2.0.74.Final 3.2.2 1.1.2.6 - 1.4.1 + 1.10.1 2.1.10 2.8.11 @@ -176,7 +176,7 @@ - org.lz4 + at.yawk.lz4 lz4-java ${lz4.version} From 9752fe6615f3d1bba58fa6f92660c58acea3b8fa Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 15:36:47 -0500 Subject: [PATCH 03/13] Bump us up to Java8 for builds --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index ca99079ddfe..15e78e5fc21 100644 --- a/pom.xml +++ b/pom.xml @@ -53,7 +53,7 @@ UTF-8 UTF-8 3.11.2 - 1.6 + 1.8 1.2.17 1.7.25 1.7.25 From e0001f05e37e00f5272e36aedd81b1685cb7eb29 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 15:52:57 -0500 Subject: [PATCH 04/13] Roll Jenkins label back to focal --- Jenkinsfile-datastax | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 9e7b92bed4f..282e8a532ec 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -341,7 +341,7 @@ pipeline { } environment { - OS_VERSION = 'ubuntu/jammy64/java-driver' + OS_VERSION = 'ubuntu/focal64/java-driver' JABBA_SHELL = '/usr/lib/jabba/jabba.sh' CCM_ENVIRONMENT_SHELL = '/usr/local/bin/ccm_environment.sh' } From 3c677219255299b077041ede55f01606014c3820 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 16:31:33 -0500 Subject: [PATCH 05/13] Bump various versions to match what's being tested with 4.x --- Jenkinsfile-datastax | 94 +++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 53 deletions(-) diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax index 282e8a532ec..c6d2624a58d 100644 --- a/Jenkinsfile-datastax +++ b/Jenkinsfile-datastax @@ -220,67 +220,61 @@ pipeline { ''') choice( name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_SERVER_VERSION', - choices: ['2.1', // Legacy Apache CassandraⓇ - '2.2', // Legacy Apache CassandraⓇ - '3.0', // Previous Apache CassandraⓇ - '3.11', // Current Apache CassandraⓇ - '4.0', // Development Apache CassandraⓇ - 'dse-5.1', // Legacy DataStax Enterprise - 'dse-6.0', // Previous DataStax Enterprise - 'dse-6.7', // Previous DataStax Enterprise - 'dse-6.8.0', // Current DataStax Enterprise + choices: ['4.0', + '4.1', + '5.0', + 'dse-5.1.35', + 'dse-6.0.18', + 'dse-6.7.17', + 'dse-6.8.30', + 'dse-6.9.0', + 'hcd-1.0.0', 'ALL'], description: '''Apache Cassandra® or DataStax Enterprise server version to use for adhoc BUILD-AND-EXECUTE-TESTS builds - - - - - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + + - - + +
ChoiceDescription
2.1Apache Cassandra® v2.1.x4.0Apache Cassandra® v4.0.x
2.2Apache Cassandra® v2.2.x4.1Apache Cassandra® v4.1.x
3.0Apache Cassandra® v3.0.x5.0Apache Cassandra® v5.0.x
3.11Apache Cassandra® v3.11.xdse-5.1.35DataStax Enterprise v5.1.35
4.0Apache Cassandra® v4.x (CURRENTLY UNDER DEVELOPMENT)dse-6.0.18DataStax Enterprise v6.0.18
dse-5.1DataStax Enterprise v5.1.xdse-6.7.17DataStax Enterprise v6.7.17
dse-6.0DataStax Enterprise v6.0.xdse-6.8.30DataStax Enterprise v6.8.30
dse-6.7DataStax Enterprise v6.7.xdse-6.9.0DataStax Enterprise v6.9.0
dse-6.8.0DataStax Enterprise v6.8.0hcd-1.0.0DataStax HCD v1.0.0
''') choice( name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_JABBA_VERSION', - choices: ['zulu@1.6', // Zulu JDK 1.6 - 'zulu@1.7', // Zulu JDK 1.7 - '1.8', // Oracle JDK version 1.8 (current default) - 'openjdk@1.11'], // OpenJDK version 11 + choices: ['1.8', + 'openjdk@1.11'], description: '''JDK version to use for TESTING when running adhoc BUILD-AND-EXECUTE-TESTS builds. All builds will use JDK8 for building the driver @@ -289,14 +283,6 @@ pipeline { - - - - - - - - @@ -367,8 +353,9 @@ pipeline { axes { axis { name 'SERVER_VERSION' - values '3.11', // Current Apache CassandraⓇ - '4.0' // Development Apache CassandraⓇ + values '4.0', + '4.1', + '5.0' } } @@ -474,14 +461,15 @@ pipeline { axes { axis { name 'SERVER_VERSION' - values '2.1', // Legacy Apache CassandraⓇ - '3.0', // Previous Apache CassandraⓇ - '3.11', // Current Apache CassandraⓇ - '4.0', // Development Apache CassandraⓇ - 'dse-5.1', // Legacy DataStax Enterprise - 'dse-6.0', // Previous DataStax Enterprise - 'dse-6.7', // Previous DataStax Enterprise - 'dse-6.8.0' // Current DataStax Enterprise + values '4.0', + '4.1', + '5.0', + 'dse-5.1.35', + 'dse-6.0.18', + 'dse-6.7.17', + 'dse-6.8.30', + 'dse-6.9.0', + 'hcd-1.0.0' } } when { From 04649095d5fdd25f6947e22d5a09db59d529d36c Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 17:02:22 -0500 Subject: [PATCH 06/13] Remove cloud tests since we're no longer leveraging these --- .../datastax/driver/core/cloud/CloudTest.java | 259 ------------------ .../driver/core/cloud/SniProxyServer.java | 114 -------- 2 files changed, 373 deletions(-) delete mode 100644 driver-core/src/test/java/com/datastax/driver/core/cloud/CloudTest.java delete mode 100644 driver-core/src/test/java/com/datastax/driver/core/cloud/SniProxyServer.java diff --git a/driver-core/src/test/java/com/datastax/driver/core/cloud/CloudTest.java b/driver-core/src/test/java/com/datastax/driver/core/cloud/CloudTest.java deleted file mode 100644 index 7e91543861c..00000000000 --- a/driver-core/src/test/java/com/datastax/driver/core/cloud/CloudTest.java +++ /dev/null @@ -1,259 +0,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. - */ -package com.datastax.driver.core.cloud; - -import static com.datastax.driver.core.cloud.SniProxyServer.CERTS_BUNDLE_SUFFIX; -import static com.github.tomakehurst.wiremock.client.WireMock.aResponse; -import static com.github.tomakehurst.wiremock.client.WireMock.any; -import static com.github.tomakehurst.wiremock.client.WireMock.urlEqualTo; -import static com.github.tomakehurst.wiremock.core.WireMockConfiguration.wireMockConfig; -import static org.assertj.core.api.Assertions.assertThat; -import static org.assertj.core.api.Assertions.fail; - -import com.datastax.driver.core.Cluster; -import com.datastax.driver.core.EndPoint; -import com.datastax.driver.core.PlainTextAuthProvider; -import com.datastax.driver.core.ProtocolVersion; -import com.datastax.driver.core.ResultSet; -import com.datastax.driver.core.Session; -import com.datastax.driver.core.exceptions.AuthenticationException; -import com.github.tomakehurst.wiremock.WireMockServer; -import java.io.File; -import java.io.IOException; -import java.net.InetSocketAddress; -import java.net.URL; -import org.parboiled.common.FileUtils; -import org.testng.annotations.AfterClass; -import org.testng.annotations.AfterMethod; -import org.testng.annotations.BeforeClass; -import org.testng.annotations.BeforeMethod; -import org.testng.annotations.Test; - -public class CloudTest { - - private SniProxyServer proxy = new SniProxyServer(); - - private WireMockServer wireMockServer; - - @BeforeClass(groups = "short") - public void startProxy() { - proxy.startProxy(); - } - - @BeforeMethod(groups = "short") - public void startWireMock() { - wireMockServer = new WireMockServer(wireMockConfig().dynamicPort().dynamicHttpsPort()); - wireMockServer.start(); - } - - @AfterMethod(groups = "short") - public void stopWireMock() { - wireMockServer.stop(); - } - - @AfterClass(groups = "short", alwaysRun = true) - public void stopProxy() throws Exception { - proxy.stopProxy(); - } - - @Test(groups = "short") - public void should_connect_to_proxy_using_absolute_path() { - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(proxy.getSecureBundleFile()) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - ResultSet set = session.execute("select * from system.local"); - assertThat(set).isNotNull(); - } - - @Test(groups = "short") - public void should_connect_to_proxy_using_non_normalized_path() { - String path = - String.format("%s/%s", proxy.getProxyRootPath(), "certs/bundles/../bundles/creds-v1.zip"); - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(new File(path)) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - ResultSet set = session.execute("select * from system.local"); - assertThat(set).isNotNull(); - } - - @Test(groups = "short") - public void should_connect_to_proxy_using_file_provided_by_the_http_URL() throws IOException { - // given - wireMockServer.stubFor( - any(urlEqualTo(CERTS_BUNDLE_SUFFIX)) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/octet-stream") - .withBody(FileUtils.readAllBytes(proxy.getSecureBundleFile())))); - - URL configFile = - new URL(String.format("http://localhost:%d%s", wireMockServer.port(), CERTS_BUNDLE_SUFFIX)); - - // when - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(configFile) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - - // then - ResultSet set = session.execute("select * from system.local"); - assertThat(set).isNotNull(); - } - - @Test(groups = "short") - public void should_connect_to_proxy_using_file_provided_by_input_stream() throws IOException { - // given - wireMockServer.stubFor( - any(urlEqualTo(CERTS_BUNDLE_SUFFIX)) - .willReturn( - aResponse() - .withStatus(200) - .withHeader("Content-Type", "application/octet-stream") - .withBody(FileUtils.readAllBytes(proxy.getSecureBundleFile())))); - - URL configFile = - new URL(String.format("http://localhost:%d%s", wireMockServer.port(), CERTS_BUNDLE_SUFFIX)); - - // when - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(configFile.openStream()) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - - // then - ResultSet set = session.execute("select * from system.local"); - assertThat(set).isNotNull(); - } - - @Test(groups = "short") - public void should_connect_to_proxy_using_auth_provider() { - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(proxy.getSecureBundleNoCredsPath()) - .withAuthProvider(new PlainTextAuthProvider("cassandra", "cassandra")) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - ResultSet set = session.execute("select * from system.local"); - assertThat(set).isNotNull(); - } - - @Test(groups = "short") - public void should_not_connect_to_proxy_bad_creds() { - try { - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(proxy.getSecureBundleNoCredsPath()) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - fail("Expected an AuthenticationException"); - } catch (AuthenticationException e) { - assertThat(e).hasMessageStartingWith("Authentication error on host"); - } - } - - @Test(groups = "short") - public void should_not_connect_to_proxy() { - try { - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(proxy.getSecureBundleUnreachable()) - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - fail("Expected an IllegalStateException"); - } catch (IllegalStateException e) { - assertThat(e).hasMessageStartingWith("Cannot construct cloud config from the cloudConfigUrl"); - } - } - - @Test(groups = "short") - public void should_not_allow_contact_points_and_cloud() { - try { - Session session = - Cluster.builder() - .addContactPoint("127.0.0.1") - .withCloudSecureConnectBundle(proxy.getSecureBundleNoCredsPath()) - .withCredentials("cassandra", "cassandra") - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - fail("Expected an IllegalStateException"); - } catch (IllegalStateException e) { - assertThat(e) - .hasMessageStartingWith( - "Can't use withCloudSecureConnectBundle if you've already called addContactPoint(s)"); - } - } - - @Test(groups = "short") - public void should_not_allow_cloud_with_contact_points_string() { - try { - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(proxy.getSecureBundleNoCredsPath()) - .addContactPoint("127.0.0.1") - .withCredentials("cassandra", "cassandra") - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - fail("Expected an IllegalStateException"); - } catch (IllegalStateException e) { - assertThat(e) - .hasMessageStartingWith( - "Can't use addContactPoint(s) if you've already called withCloudSecureConnectBundle"); - } - } - - @Test(groups = "short") - public void should_not_allow_cloud_with_contact_points_endpoint() { - try { - Session session = - Cluster.builder() - .withCloudSecureConnectBundle(proxy.getSecureBundleNoCredsPath()) - .addContactPoint( - new EndPoint() { - @Override - public InetSocketAddress resolve() { - return null; - } - }) - .withCredentials("cassandra", "cassandra") - .withProtocolVersion(ProtocolVersion.V4) - .build() - .connect(); - fail("Expected an IllegalStateException"); - } catch (IllegalStateException e) { - assertThat(e) - .hasMessageStartingWith( - "Can't use addContactPoint(s) if you've already called withCloudSecureConnectBundle"); - } - } -} diff --git a/driver-core/src/test/java/com/datastax/driver/core/cloud/SniProxyServer.java b/driver-core/src/test/java/com/datastax/driver/core/cloud/SniProxyServer.java deleted file mode 100644 index 59c3e0c51e4..00000000000 --- a/driver-core/src/test/java/com/datastax/driver/core/cloud/SniProxyServer.java +++ /dev/null @@ -1,114 +0,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. - */ - -package com.datastax.driver.core.cloud; - -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.util.concurrent.TimeUnit; -import org.apache.commons.exec.CommandLine; -import org.apache.commons.exec.DefaultExecutor; -import org.apache.commons.exec.ExecuteStreamHandler; -import org.apache.commons.exec.ExecuteWatchdog; -import org.apache.commons.exec.Executor; -import org.apache.commons.exec.LogOutputStream; -import org.apache.commons.exec.PumpStreamHandler; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class SniProxyServer { - private static final Logger logger = LoggerFactory.getLogger(SniProxyServer.class); - private final File proxyPath; - private boolean isRunning = false; - - static final String CERTS_BUNDLE_SUFFIX = "/certs/bundles/creds-v1.zip"; - - public SniProxyServer() { - proxyPath = new File(System.getProperty("proxy.path", "./")); - } - - public void startProxy() { - CommandLine run = CommandLine.parse(proxyPath + "/run.sh"); - execute(run); - isRunning = true; - } - - public void stopProxy() { - if (isRunning) { - CommandLine findImageId = - CommandLine.parse("docker ps -a -q --filter ancestor=single_endpoint"); - String id = execute(findImageId); - CommandLine stop = CommandLine.parse("docker kill " + id); - execute(stop); - isRunning = false; - } - } - - public boolean isRunning() { - return isRunning; - } - - public File getProxyRootPath() { - return proxyPath; - } - - public File getSecureBundleFile() { - return new File(proxyPath + CERTS_BUNDLE_SUFFIX); - } - - public File getSecureBundleNoCredsPath() { - return new File(proxyPath + "/certs/bundles/creds-v1-wo-creds.zip"); - } - - public File getSecureBundleUnreachable() { - return new File(proxyPath + "/certs/bundles/creds-v1-unreachable.zip"); - } - - private String execute(CommandLine cli) { - logger.debug("Executing: " + cli); - ExecuteWatchdog watchDog = new ExecuteWatchdog(TimeUnit.MINUTES.toMillis(10)); - ByteArrayOutputStream outStream = new ByteArrayOutputStream(); - LogOutputStream errStream = - new LogOutputStream() { - @Override - protected void processLine(String line, int logLevel) { - logger.error("sniendpointerr> {}", line); - } - }; - try { - Executor executor = new DefaultExecutor(); - ExecuteStreamHandler streamHandler = new PumpStreamHandler(outStream, errStream); - executor.setStreamHandler(streamHandler); - executor.setWatchdog(watchDog); - executor.setWorkingDirectory(proxyPath); - int retValue = executor.execute(cli); - if (retValue != 0) { - logger.error( - "Non-zero exit code ({}) returned from executing ccm command: {}", retValue, cli); - } - return outStream.toString(); - } catch (IOException ex) { - if (watchDog.killedProcess()) { - throw new RuntimeException("The command '" + cli + "' was killed after 10 minutes"); - } else { - throw new RuntimeException("The command '" + cli + "' failed to execute", ex); - } - } - } -} From 7f8809f5cedeaf351a0984e445226376e9d805c1 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 17:15:51 -0500 Subject: [PATCH 07/13] Bump Jackson version to match what's in 4.x --- driver-examples/pom.xml | 7 ------- driver-extras/pom.xml | 6 ------ .../test/java/com/datastax/driver/osgi/BundleOptions.java | 4 ---- pom.xml | 5 ++--- 4 files changed, 2 insertions(+), 20 deletions(-) diff --git a/driver-examples/pom.xml b/driver-examples/pom.xml index a5508fa9d9b..7465cc91b5c 100644 --- a/driver-examples/pom.xml +++ b/driver-examples/pom.xml @@ -47,13 +47,6 @@ - - - com.fasterxml.jackson.core - jackson-annotations - true - - com.fasterxml.jackson.core jackson-databind diff --git a/driver-extras/pom.xml b/driver-extras/pom.xml index b83942f2d44..d1dda820f8e 100644 --- a/driver-extras/pom.xml +++ b/driver-extras/pom.xml @@ -93,12 +93,6 @@ test - - com.fasterxml.jackson.core - jackson-annotations - test - - org.glassfish javax.json diff --git a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java index a349764804b..f28288cec20 100644 --- a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java +++ b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java @@ -185,10 +185,6 @@ public Option[] getOptions() { getVersion("jackson-databind.version")), mavenBundle( "com.fasterxml.jackson.core", "jackson-core", getVersion("jackson.version")), - mavenBundle( - "com.fasterxml.jackson.core", - "jackson-annotations", - getVersion("jackson.version")), mavenBundle("org.testng", "testng", getVersion("testng.version")), systemPackages( "org.testng", diff --git a/pom.xml b/pom.xml index 15e78e5fc21..3c63ceaf345 100644 --- a/pom.xml +++ b/pom.xml @@ -64,9 +64,8 @@ 1.1.2.6 1.10.1 2.1.10 - 2.8.11 - - 2.7.9.7 + 2.20.1 + ${jackson.version} 2.9.9 1.0 1.0.4 From 663418c4f47dd75dd14c12a488d6fcdc576ad80d Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 17:17:27 -0500 Subject: [PATCH 08/13] Some Java6-to-Java8 POM cleanup --- pom.xml | 48 ++++-------------------------------------------- 1 file changed, 4 insertions(+), 44 deletions(-) diff --git a/pom.xml b/pom.xml index 3c63ceaf345..2ab944c2938 100644 --- a/pom.xml +++ b/pom.xml @@ -1005,18 +1005,6 @@ limitations under the License. true - - - - - - modern-jdks - - [1.8,) - - - - com.coveo fmt-maven-plugin @@ -1030,39 +1018,11 @@ limitations under the License. - - org.apache.maven.plugins - maven-javadoc-plugin - - none - - - - - - - - legacy-jdks - - [,1.8) - - - - - maven-surefire-plugin - - - **/jdk8/*.java - **/Jdk8*.java - + org.apache.maven.plugins + maven-javadoc-plugin + + none From 942df902c744489f04b19cff5677134d908b7418 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 17:28:08 -0500 Subject: [PATCH 09/13] Somehow one of the Jackson dependencies snuck back in --- pom.xml | 6 ------ 1 file changed, 6 deletions(-) diff --git a/pom.xml b/pom.xml index 2ab944c2938..f0e06325f7a 100644 --- a/pom.xml +++ b/pom.xml @@ -204,12 +204,6 @@ ${jackson-databind.version} - - com.fasterxml.jackson.core - jackson-annotations - ${jackson.version} - - org.glassfish javax.json From ea5a40e7433e0815b840dada74507a0eca4602b6 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 22:59:56 -0500 Subject: [PATCH 10/13] Add back in jackson-annotations in hope that it's a quick fix for the OSGi test issues. Also remove jackson-databind.version var (since it just duplicates jackson.version var) --- driver-examples/pom.xml | 6 ++++++ driver-extras/pom.xml | 6 ++++++ .../java/com/datastax/driver/osgi/BundleOptions.java | 8 ++++++-- driver-tests/osgi/pom.xml | 2 +- pom.xml | 10 ++++++++-- 5 files changed, 27 insertions(+), 5 deletions(-) diff --git a/driver-examples/pom.xml b/driver-examples/pom.xml index 7465cc91b5c..e0c84fab2db 100644 --- a/driver-examples/pom.xml +++ b/driver-examples/pom.xml @@ -47,6 +47,12 @@ + + com.fasterxml.jackson.core + jackson-annotations + test + + com.fasterxml.jackson.core jackson-databind diff --git a/driver-extras/pom.xml b/driver-extras/pom.xml index d1dda820f8e..b83942f2d44 100644 --- a/driver-extras/pom.xml +++ b/driver-extras/pom.xml @@ -93,6 +93,12 @@ test + + com.fasterxml.jackson.core + jackson-annotations + test + + org.glassfish javax.json diff --git a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java index f28288cec20..188985dde8e 100644 --- a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java +++ b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java @@ -182,10 +182,14 @@ public Option[] getOptions() { mavenBundle( "com.fasterxml.jackson.core", "jackson-databind", - getVersion("jackson-databind.version")), + getVersion("jackson.version")), mavenBundle( "com.fasterxml.jackson.core", "jackson-core", getVersion("jackson.version")), - mavenBundle("org.testng", "testng", getVersion("testng.version")), + mavenBundle( + "com.fasterxml.jackson.core", + "jackson-annotations", + getVersion("jackson.version")), + mavenBundle("org.testng", "testng", getVersion("testng.version")), systemPackages( "org.testng", "org.junit", diff --git a/driver-tests/osgi/pom.xml b/driver-tests/osgi/pom.xml index 8609753a8c9..34a96f6d84d 100644 --- a/driver-tests/osgi/pom.xml +++ b/driver-tests/osgi/pom.xml @@ -166,7 +166,7 @@ ${testng.version} ${jsr353-api.version} ${jackson.version} - ${jackson-databind.version} + ${jackson-annotations.version} ${ipprefix} false diff --git a/pom.xml b/pom.xml index f0e06325f7a..26ce2d38e1b 100644 --- a/pom.xml +++ b/pom.xml @@ -65,7 +65,7 @@ 1.10.1 2.1.10 2.20.1 - ${jackson.version} + 2.20 2.9.9 1.0 1.0.4 @@ -201,7 +201,13 @@ com.fasterxml.jackson.core jackson-databind - ${jackson-databind.version} + ${jackson.version} + + + + com.fasterxml.jackson.core + jackson-annotations + ${jackson-annotations.version} From 94d9266af0d19de86bb5f25940fe1fa902709b64 Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Wed, 8 Jul 2026 23:11:08 -0500 Subject: [PATCH 11/13] Maven fix for something I borked when re-introducing jackson-annotations --- driver-examples/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/driver-examples/pom.xml b/driver-examples/pom.xml index e0c84fab2db..a160e11743a 100644 --- a/driver-examples/pom.xml +++ b/driver-examples/pom.xml @@ -50,7 +50,7 @@ com.fasterxml.jackson.core jackson-annotations - test + true From 354b6b0040e431b632fa223c6442627fd5d0ec3f Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Fri, 10 Jul 2026 11:18:47 -0500 Subject: [PATCH 12/13] Forgot to update BundleOptions to reference the new jackson-annotations.version var --- .../java/com/datastax/driver/osgi/BundleOptions.java | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java index 188985dde8e..8186b8a4c07 100644 --- a/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java +++ b/driver-tests/osgi/common/src/test/java/com/datastax/driver/osgi/BundleOptions.java @@ -185,11 +185,11 @@ public Option[] getOptions() { getVersion("jackson.version")), mavenBundle( "com.fasterxml.jackson.core", "jackson-core", getVersion("jackson.version")), - mavenBundle( - "com.fasterxml.jackson.core", - "jackson-annotations", - getVersion("jackson.version")), - mavenBundle("org.testng", "testng", getVersion("testng.version")), + mavenBundle( + "com.fasterxml.jackson.core", + "jackson-annotations", + getVersion("jackson-annotations.version")), + mavenBundle("org.testng", "testng", getVersion("testng.version")), systemPackages( "org.testng", "org.junit", From d92336be0422f78dce5b764adf05fba1c06f49be Mon Sep 17 00:00:00 2001 From: absurdfarce Date: Fri, 10 Jul 2026 12:01:12 -0500 Subject: [PATCH 13/13] Bump slf4j and logback versions to match what's on 4.x. Would be nice if we could do away with the log4j stuff here but I think that's a bigger lift. --- pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/pom.xml b/pom.xml index 26ce2d38e1b..1db686960a8 100644 --- a/pom.xml +++ b/pom.xml @@ -55,8 +55,8 @@ 3.11.2 1.8 1.2.17 - 1.7.25 - 1.7.25 + 1.7.26 + 1.7.26 19.0 4.1.130.Final 2.0.74.Final @@ -87,7 +87,7 @@ 2.25.0 1.3 1.1.2 - 1.2.3 + 1.2.13 3.0.8 127.0.1.
Choice Description
zulu@1.6Zulu JDK version 1.6
zulu@1.7Zulu JDK version 1.7
1.8 Oracle JDK version 1.8 (Used for compiling regardless of choice)