diff --git a/Jenkinsfile-datastax b/Jenkinsfile-datastax
index 9e7b92bed4f..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
- | Choice |
- Description |
-
-
- | 2.1 |
- Apache Cassandra® v2.1.x |
+ 4.0 |
+ Apache Cassandra® v4.0.x |
- | 2.2 |
- Apache Cassandra® v2.2.x |
+ 4.1 |
+ Apache Cassandra® v4.1.x |
- | 3.0 |
- Apache Cassandra® v3.0.x |
+ 5.0 |
+ Apache Cassandra® v5.0.x |
- | 3.11 |
- Apache Cassandra® v3.11.x |
+ dse-5.1.35 |
+ DataStax Enterprise v5.1.35 |
- | 4.0 |
- Apache Cassandra® v4.x (CURRENTLY UNDER DEVELOPMENT) |
+ dse-6.0.18 |
+ DataStax Enterprise v6.0.18 |
- | dse-5.1 |
- DataStax Enterprise v5.1.x |
+ dse-6.7.17 |
+ DataStax Enterprise v6.7.17 |
- | dse-6.0 |
- DataStax Enterprise v6.0.x |
+ dse-6.8.30 |
+ DataStax Enterprise v6.8.30 |
- | dse-6.7 |
- DataStax Enterprise v6.7.x |
+ dse-6.9.0 |
+ DataStax Enterprise v6.9.0 |
- | dse-6.8.0 |
- DataStax Enterprise v6.8.0 |
+ hcd-1.0.0 |
+ DataStax 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 {
| Choice |
Description |
-
- | zulu@1.6 |
- Zulu JDK version 1.6 |
-
-
- | zulu@1.7 |
- Zulu JDK version 1.7 |
-
| 1.8 |
Oracle JDK version 1.8 (Used for compiling regardless of choice) |
@@ -341,7 +327,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'
}
@@ -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 {
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-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);
- }
- }
- }
-}
diff --git a/driver-examples/pom.xml b/driver-examples/pom.xml
index a5508fa9d9b..a160e11743a 100644
--- a/driver-examples/pom.xml
+++ b/driver-examples/pom.xml
@@ -47,7 +47,6 @@
-
com.fasterxml.jackson.core
jackson-annotations
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..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
@@ -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")));
}
};
}
@@ -182,13 +182,13 @@ 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(
"com.fasterxml.jackson.core",
"jackson-annotations",
- getVersion("jackson.version")),
+ getVersion("jackson-annotations.version")),
mavenBundle("org.testng", "testng", getVersion("testng.version")),
systemPackages(
"org.testng",
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/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 d179f45d04f..1db686960a8 100644
--- a/pom.xml
+++ b/pom.xml
@@ -53,20 +53,19 @@
UTF-8
UTF-8
3.11.2
- 1.6
+ 1.8
1.2.17
- 1.7.25
- 1.7.25
+ 1.7.26
+ 1.7.26
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
+ 1.10.1
2.1.10
- 2.8.11
-
- 2.7.9.7
+ 2.20.1
+ 2.20
2.9.9
1.0
1.0.4
@@ -88,7 +87,7 @@
2.25.0
1.3
1.1.2
- 1.2.3
+ 1.2.13
3.0.8
127.0.1.
@@ -176,7 +175,7 @@
- org.lz4
+ at.yawk.lz4
lz4-java
${lz4.version}
@@ -202,13 +201,13 @@
com.fasterxml.jackson.core
jackson-databind
- ${jackson-databind.version}
+ ${jackson.version}
com.fasterxml.jackson.core
jackson-annotations
- ${jackson.version}
+ ${jackson-annotations.version}
@@ -1006,18 +1005,6 @@ limitations under the License.
true
-
-
-
-
-
- modern-jdks
-
- [1.8,)
-
-
-
-
com.coveo
fmt-maven-plugin
@@ -1031,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