diff --git a/.asf.yaml b/.asf.yaml
index 5ebca4b6e33..ac29efed9ff 100644
--- a/.asf.yaml
+++ b/.asf.yaml
@@ -19,6 +19,7 @@ notifications:
commits: commits@cassandra.apache.org
issues: commits@cassandra.apache.org
pullrequests: pr@cassandra.apache.org
+ jira_options: link worklog
github:
description: "Java Driver for Apache Cassandra®"
@@ -31,6 +32,6 @@ github:
wiki: false
issues: false
projects: false
-
-notifications:
- jira_options: link worklog
+ autolink_jira:
+ - CASSANDRA
+ - CASSJAVA
diff --git a/.travis.yml b/.travis.yml
deleted file mode 100644
index 84d40ce1356..00000000000
--- a/.travis.yml
+++ /dev/null
@@ -1,39 +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.
-
-language: java
-dist: trusty
-sudo: false
-# see https://sormuras.github.io/blog/2018-03-20-jdk-matrix.html
-matrix:
- include:
- # 8
- - env: JDK='OpenJDK 8'
- jdk: openjdk8
- # 11
- - env: JDK='OpenJDK 11'
- # switch to JDK 11 before running tests
- before_script: . $TRAVIS_BUILD_DIR/ci/install-jdk.sh -F 11 -L GPL
-before_install:
- # Require JDK8 for compiling
- - jdk_switcher use openjdk8
- - ./install-snapshots.sh
-install: mvn install -DskipTests=true -Dmaven.javadoc.skip=true -B -V
-script: mvn test -Djacoco.skip=true -Dmaven.test.failure.ignore=true -Dmaven.javadoc.skip=true -B -V
-cache:
- directories:
- - $HOME/.m2
diff --git a/Jenkinsfile-asf b/Jenkinsfile-asf
new file mode 100644
index 00000000000..4b5041903c1
--- /dev/null
+++ b/Jenkinsfile-asf
@@ -0,0 +1,81 @@
+#!groovy
+
+/*
+ * 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.
+ */
+
+pipeline {
+ agent {
+ label 'cassandra-small'
+ }
+
+ triggers {
+ // schedules only run against release branches (i.e. 3.x, 4.x, 4.5.x, etc.)
+ cron(branchPatternCron().matcher(env.BRANCH_NAME).matches() ? '@weekly' : '')
+ }
+
+ stages {
+ stage('Matrix') {
+ matrix {
+ axes {
+ axis {
+ name 'TEST_JAVA_VERSION'
+ values 'openjdk@1.8.0-292', 'openjdk@1.11.0-9', 'openjdk@1.17.0', 'openjdk@1.21.0'
+ }
+ axis {
+ name 'SERVER_VERSION'
+ values '3.11',
+ '4.0',
+ '4.1',
+ '5.0'
+ }
+ }
+ stages {
+ stage('Tests') {
+ agent {
+ label 'cassandra-medium'
+ }
+ steps {
+ script {
+ executeTests()
+ junit testResults: '**/target/surefire-reports/TEST-*.xml', allowEmptyResults: true
+ junit testResults: '**/target/failsafe-reports/TEST-*.xml', allowEmptyResults: true
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
+
+def executeTests() {
+ def testJavaMajorVersion = (TEST_JAVA_VERSION =~ /@(?:1\.)?(\d+)/)[0][1]
+ sh """
+ container_id=\$(docker run -td -e TEST_JAVA_VERSION=${TEST_JAVA_VERSION} -e SERVER_VERSION=${SERVER_VERSION} -e TEST_JAVA_MAJOR_VERSION=${testJavaMajorVersion} -v \$(pwd):/home/docker/cassandra-java-driver apache.jfrog.io/cassan-docker/apache/cassandra-java-driver-testing-ubuntu2204 'sleep 2h')
+ docker exec --user root \$container_id bash -c \"sudo bash /home/docker/cassandra-java-driver/ci/create-user.sh docker \$(id -u) \$(id -g) /home/docker/cassandra-java-driver\"
+ docker exec --user docker \$container_id './cassandra-java-driver/ci/run-tests.sh'
+ ( nohup docker stop \$container_id >/dev/null 2>/dev/null & )
+ """
+}
+
+// branch pattern for cron
+// should match 3.x, 4.x, 4.5.x, etc
+def branchPatternCron() {
+ ~'((\\d+(\\.[\\dx]+)+))'
+}
diff --git a/Jenkinsfile b/Jenkinsfile-datastax
similarity index 83%
rename from Jenkinsfile
rename to Jenkinsfile-datastax
index d38b7c63849..602f33101ca 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile-datastax
@@ -19,22 +19,15 @@
*/
def initializeEnvironment() {
- env.DRIVER_DISPLAY_NAME = 'CassandraⓇ Java Driver'
+ env.DRIVER_DISPLAY_NAME = 'Java Driver for Apache CassandraⓇ'
env.DRIVER_METRIC_TYPE = 'oss'
- if (env.GIT_URL.contains('riptano/java-driver')) {
- env.DRIVER_DISPLAY_NAME = 'private ' + env.DRIVER_DISPLAY_NAME
- env.DRIVER_METRIC_TYPE = 'oss-private'
- } else if (env.GIT_URL.contains('java-dse-driver')) {
- env.DRIVER_DISPLAY_NAME = 'DSE Java Driver'
- env.DRIVER_METRIC_TYPE = 'dse'
- }
env.GIT_SHA = "${env.GIT_COMMIT.take(7)}"
env.GITHUB_PROJECT_URL = "https://${GIT_URL.replaceFirst(/(git@|http:\/\/|https:\/\/)/, '').replace(':', '/').replace('.git', '')}"
env.GITHUB_BRANCH_URL = "${GITHUB_PROJECT_URL}/tree/${env.BRANCH_NAME}"
env.GITHUB_COMMIT_URL = "${GITHUB_PROJECT_URL}/commit/${env.GIT_COMMIT}"
- env.MAVEN_HOME = "${env.HOME}/.mvn/apache-maven-3.3.9"
+ env.MAVEN_HOME = "${env.HOME}/.mvn/apache-maven-3.8.8"
env.PATH = "${env.MAVEN_HOME}/bin:${env.PATH}"
/*
@@ -61,7 +54,7 @@ def initializeEnvironment() {
. ${JABBA_SHELL}
jabba which 1.8''', returnStdout: true).trim()
- sh label: 'Download Apache CassandraⓇ or DataStax Enterprise',script: '''#!/bin/bash -le
+ sh label: 'Download Apache CassandraⓇ, DataStax Enterprise or DataStax HCD ',script: '''#!/bin/bash -le
. ${JABBA_SHELL}
jabba use 1.8
. ${CCM_ENVIRONMENT_SHELL} ${SERVER_VERSION}
@@ -75,13 +68,26 @@ CCM_CASSANDRA_VERSION=${DSE_FIXED_VERSION} # maintain for backwards compatibilit
CCM_VERSION=${DSE_FIXED_VERSION}
CCM_SERVER_TYPE=dse
DSE_VERSION=${DSE_FIXED_VERSION}
-CCM_IS_DSE=true
CCM_BRANCH=${DSE_FIXED_VERSION}
DSE_BRANCH=${DSE_FIXED_VERSION}
ENVIRONMENT_EOF
'''
}
+ if (env.SERVER_VERSION.split('-')[0] == 'hcd') {
+ env.HCD_FIXED_VERSION = env.SERVER_VERSION.split('-')[1]
+ sh label: 'Update environment for DataStax HCD', script: '''#!/bin/bash -le
+ cat >> ${HOME}/environment.txt << ENVIRONMENT_EOF
+CCM_CASSANDRA_VERSION=${HCD_FIXED_VERSION} # maintain for backwards compatibility
+CCM_VERSION=${HCD_FIXED_VERSION}
+CCM_SERVER_TYPE=hcd
+HCD_VERSION=${HCD_FIXED_VERSION}
+CCM_BRANCH=${HCD_FIXED_VERSION}
+HCD_BRANCH=${HCD_FIXED_VERSION}
+ENVIRONMENT_EOF
+ '''
+ }
+
sh label: 'Display Java and environment information',script: '''#!/bin/bash -le
# Load CCM environment variables
set -o allexport
@@ -144,7 +150,7 @@ def executeTests() {
-Dmaven.test.failure.ignore=true \
-Dmaven.javadoc.skip=${SKIP_JAVADOCS} \
-Dccm.version=${CCM_CASSANDRA_VERSION} \
- -Dccm.dse=${CCM_IS_DSE} \
+ -Dccm.distribution=${CCM_SERVER_TYPE:cassandra} \
-Dproxy.path=${HOME}/proxy \
${SERIAL_ITS_ARGUMENT} \
${ISOLATED_ITS_ARGUMENT} \
@@ -255,19 +261,17 @@ 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', // Previous Apache CassandraⓇ
- '4.0', // Previous Apache CassandraⓇ
- '4.1', // Current Apache CassandraⓇ
- '5.0', // Development Apache CassandraⓇ
+ choices: ['4.0', // Previous Apache CassandraⓇ
+ '4.1', // Previous Apache CassandraⓇ
+ '5.0', // Current Apache CassandraⓇ
'dse-4.8.16', // Previous EOSL DataStax Enterprise
'dse-5.0.15', // Long Term Support DataStax Enterprise
'dse-5.1.35', // Legacy DataStax Enterprise
'dse-6.0.18', // Previous DataStax Enterprise
'dse-6.7.17', // Previous DataStax Enterprise
'dse-6.8.30', // Current DataStax Enterprise
+ 'dse-6.9.0', // Current DataStax Enterprise
+ 'hcd-1.0.0', // Current DataStax HCD
'ALL'],
description: '''Apache Cassandra® and DataStax Enterprise server version to use for adhoc BUILD-AND-EXECUTE-TESTS builds
@@ -277,22 +281,6 @@ pipeline {
| Choice |
Description |
-
- | 2.1 |
- Apache Cassandra® v2.1.x |
-
-
- | 2.2 |
- Apache Cassandra® v2.2.x |
-
-
- | 3.0 |
- Apache Cassandra® v3.0.x |
-
-
- | 3.11 |
- Apache Cassandra® v3.11.x |
-
| 4.0 |
Apache Cassandra® v4.0.x |
@@ -301,6 +289,10 @@ pipeline {
4.1 |
Apache Cassandra® v4.1.x |
+
+ | 5.0 |
+ Apache Cassandra® v5.0.x |
+
| dse-4.8.16 |
DataStax Enterprise v4.8.x (END OF SERVICE LIFE) |
@@ -325,17 +317,23 @@ pipeline {
dse-6.8.30 |
DataStax Enterprise v6.8.x |
+
+ | dse-6.9.0 |
+ DataStax Enterprise v6.9.x |
+
+
+ | hcd-1.0.0 |
+ DataStax HCD v1.0.x |
+
''')
choice(
name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_JABBA_VERSION',
- choices: ['1.8', // Oracle JDK version 1.8 (current default)
- 'openjdk@1.9', // OpenJDK version 9
- 'openjdk@1.10', // OpenJDK version 10
+ choices: [
+ '1.8', // Oracle JDK version 1.8 (current default)
'openjdk@1.11', // OpenJDK version 11
- 'openjdk@1.12', // OpenJDK version 12
- 'openjdk@1.13', // OpenJDK version 13
- 'openjdk@1.14', // OpenJDK version 14
- 'openjdk@1.17'], // OpenJDK version 17
+ 'openjdk@1.17', // OpenJDK version 17
+ 'openjdk@1.21' // OpenJDK version 21
+ ],
description: '''JDK version to use for TESTING when running adhoc BUILD-AND-EXECUTE-TESTS builds. All builds will use JDK8 for building the driver
@@ -348,34 +346,18 @@ pipeline {
| 1.8 |
Oracle JDK version 1.8 (Used for compiling regardless of choice) |
-
- | openjdk@1.9 |
- OpenJDK version 9 |
-
-
- | openjdk@1.10 |
- OpenJDK version 10 |
-
| openjdk@1.11 |
OpenJDK version 11 |
-
- | openjdk@1.12 |
- OpenJDK version 12 |
-
-
- | openjdk@1.13 |
- OpenJDK version 13 |
-
-
- | openjdk@1.14 |
- OpenJDK version 14 |
-
| openjdk@1.17 |
OpenJDK version 17 |
+
+ | openjdk@1.21 |
+ OpenJDK version 21 |
+
''')
booleanParam(
name: 'SKIP_SERIAL_ITS',
@@ -411,19 +393,16 @@ pipeline {
triggers {
// schedules only run against release branches (i.e. 3.x, 4.x, 4.5.x, etc.)
parameterizedCron(branchPatternCron().matcher(env.BRANCH_NAME).matches() ? """
- # Every weeknight (Monday - Friday) around 2:00 AM
- ### JDK8 tests against 2.1, 3.0, DSE 4.8, DSE 5.0, DSE 5.1, dse-6.0.18 and DSE 6.7
- H 2 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=2.1 3.0 dse-4.8.16 dse-5.0.15 dse-5.1.35 dse-6.0.18 dse-6.7.17;CI_SCHEDULE_JABBA_VERSION=1.8
- ### JDK11 tests against 3.11, 4.0 and DSE 6.8
- H 2 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=3.11 4.0 dse-6.8.30;CI_SCHEDULE_JABBA_VERSION=openjdk@1.11
- # Every weekend (Sunday) around 12:00 PM noon
- ### JDK14 tests against 3.11, 4.0 and DSE 6.8
- H 12 * * 0 %CI_SCHEDULE=WEEKENDS;CI_SCHEDULE_SERVER_VERSIONS=3.11 4.0 dse-6.8.30;CI_SCHEDULE_JABBA_VERSION=openjdk@1.14
+ # Every weekend (Saturday, Sunday) around 2:00 AM
+ H 2 * * 0 %CI_SCHEDULE=WEEKENDS;CI_SCHEDULE_SERVER_VERSIONS=4.0 4.1 5.0 dse-4.8.16 dse-5.0.15 dse-5.1.35 dse-6.0.18 dse-6.7.17;CI_SCHEDULE_JABBA_VERSION=1.8
+ # Every weeknight (Monday - Friday) around 12:00 PM noon
+ H 12 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=4.1 5.0 dse-6.8.30 dse-6.9.0 hcd-1.0.0;CI_SCHEDULE_JABBA_VERSION=openjdk@1.11
+ H 12 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=4.1 5.0 dse-6.8.30 dse-6.9.0 hcd-1.0.0;CI_SCHEDULE_JABBA_VERSION=openjdk@1.17
""" : "")
}
environment {
- OS_VERSION = 'ubuntu/bionic64/java-driver'
+ OS_VERSION = 'ubuntu/focal64/java-driver'
JABBA_SHELL = '/usr/lib/jabba/jabba.sh'
CCM_ENVIRONMENT_SHELL = '/usr/local/bin/ccm_environment.sh'
SERIAL_ITS_ARGUMENT = "-DskipSerialITs=${params.SKIP_SERIAL_ITS}"
@@ -452,15 +431,18 @@ pipeline {
axes {
axis {
name 'SERVER_VERSION'
- values '3.11', // Latest stable Apache CassandraⓇ
- '4.1', // Development Apache CassandraⓇ
- 'dse-6.8.30' // Current DataStax Enterprise
+ values '4.0', // Previous Apache CassandraⓇ
+ '5.0', // Current Apache CassandraⓇ
+ 'dse-6.8.30', // Current DataStax Enterprise
+ 'dse-6.9.0', // Current DataStax Enterprise
+ 'hcd-1.0.0' // Current DataStax HCD
}
axis {
name 'JABBA_VERSION'
values '1.8', // jdk8
'openjdk@1.11', // jdk11
- 'openjdk@1.17' // jdk17
+ 'openjdk@1.17', // jdk17
+ 'openjdk@1.21' // jdk21
}
}
@@ -560,18 +542,17 @@ pipeline {
axes {
axis {
name 'SERVER_VERSION'
- values '2.1', // Legacy Apache CassandraⓇ
- '3.0', // Previous Apache CassandraⓇ
- '3.11', // Previous Apache CassandraⓇ
- '4.0', // Previous Apache CassandraⓇ
- '4.1', // Current Apache CassandraⓇ
- '5.0', // Development Apache CassandraⓇ
+ values '4.0', // Previous Apache CassandraⓇ
+ '4.1', // Previous Apache CassandraⓇ
+ '5.0', // Current Apache CassandraⓇ
'dse-4.8.16', // Previous EOSL DataStax Enterprise
'dse-5.0.15', // Last EOSL DataStax Enterprise
'dse-5.1.35', // Legacy DataStax Enterprise
'dse-6.0.18', // Previous DataStax Enterprise
'dse-6.7.17', // Previous DataStax Enterprise
- 'dse-6.8.30' // Current DataStax Enterprise
+ 'dse-6.8.30', // Current DataStax Enterprise
+ 'dse-6.9.0', // Current DataStax Enterprise
+ 'hcd-1.0.0' // Current DataStax HCD
}
}
when {
diff --git a/NOTICE_binary.txt b/NOTICE_binary.txt
index c60d8ceb245..f6f11c298f6 100644
--- a/NOTICE_binary.txt
+++ b/NOTICE_binary.txt
@@ -100,7 +100,7 @@ and decompression library written by Adrien Grand. It can be obtained at:
* LICENSE:
* license/LICENSE.lz4.txt (Apache License 2.0)
* HOMEPAGE:
- * https://github.com/jpountz/lz4-java
+ * https://github.com/yawkat/lz4-java
This product optionally depends on 'lzma-java', a LZMA Java compression
and decompression library, which can be obtained at:
diff --git a/README.md b/README.md
index c53c8f2db29..d8ef01d0964 100644
--- a/README.md
+++ b/README.md
@@ -1,8 +1,7 @@
# Java Driver for Apache Cassandra®
-:warning: The java-driver has recently been donated by Datastax to The Apache Software Foundation and the Apache Cassandra project. Bear with us as we move assets and coordinates.
-
-[](https://maven-badges.herokuapp.com/maven-central/com.datastax.oss/java-driver-core)
+[](https://opensource.org/licenses/Apache-2.0)
+[](https://maven-badges.herokuapp.com/maven-central/org.apache.cassandra/java-driver-core)
*If you're reading this on github.com, please note that this is the readme for the development
version and that some features described here might not yet have been released. You can find the
@@ -18,7 +17,7 @@ and Cassandra Query Language (CQL) v3.
## Getting the driver
-The driver artifacts are published in Maven central, under the group id [com.datastax.oss]; there
+The driver artifacts are published in Maven central, under the group id [org.apache.cassandra]; there
are multiple modules, all prefixed with `java-driver-`.
```xml
@@ -47,7 +46,7 @@ dependency if you plan to use it.
Refer to each module's manual for more details ([core](manual/core/), [query
builder](manual/query_builder/), [mapper](manual/mapper)).
-[com.datastax.oss]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22com.datastax.oss%22
+[org.apache.cassandra]: http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22org.apache.cassandra%22
## Compatibility
@@ -66,21 +65,17 @@ remain unchanged, and the new API will look very familiar to 2.x and 3.x users.
See the [upgrade guide](upgrade_guide/) for details.
-## Error Handling
-
-See the [Cassandra error handling done right blog](https://www.datastax.com/blog/cassandra-error-handling-done-right) for error handling with the Java Driver for Apache Cassandra™.
-
## Useful links
* [Manual](manual/)
* [API docs]
-* Bug tracking: [JIRA]. Make sure to select the "Client/java-driver" component when filing new tickets!
+* Bug tracking: [JIRA]
* [Mailing list]
* [Changelog]
* [FAQ]
[API docs]: https://docs.datastax.com/en/drivers/java/4.17
-[JIRA]: https://issues.apache.org/jira/issues/?jql=project%20%3D%20CASSANDRA%20AND%20component%20%3D%20%22Client%2Fjava-driver%22%20ORDER%20BY%20key%20DESC
+[JIRA]: https://issues.apache.org/jira/issues/?jql=project%20%3D%20CASSJAVA%20ORDER%20BY%20key%20DESC
[Mailing list]: https://groups.google.com/a/lists.datastax.com/forum/#!forum/java-driver-user
[Changelog]: changelog/
[FAQ]: faq/
@@ -107,4 +102,4 @@ Apache Cassandra, Apache, Tomcat, Lucene, Solr, Hadoop, Spark, TinkerPop, and Ca
trademarks of the [Apache Software Foundation](http://www.apache.org/) or its subsidiaries in
Canada, the United States and/or other countries.
-Binary artifacts of this product bundle Java Native Runtime libraries, which is available under the Eclipse Public License version 2.0.
\ No newline at end of file
+Binary artifacts of this product bundle Java Native Runtime libraries, which is available under the Eclipse Public License version 2.0.
diff --git a/bom/pom.xml b/bom/pom.xml
index 96b7a6ceb18..dd76153a9b1 100644
--- a/bom/pom.xml
+++ b/bom/pom.xml
@@ -23,7 +23,7 @@
org.apache.cassandra
java-driver-parent
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
java-driver-bom
pom
@@ -33,52 +33,52 @@
org.apache.cassandra
java-driver-core
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-core-shaded
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-mapper-processor
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-mapper-runtime
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-query-builder
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
+
+
+ org.apache.cassandra
+ java-driver-guava-shaded
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-test-infra
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-metrics-micrometer
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
org.apache.cassandra
java-driver-metrics-microprofile
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
com.datastax.oss
native-protocol
- 1.5.1
-
-
- com.datastax.oss
- java-driver-shaded-guava
- 25.1-jre-graal-sub-1
+ 1.5.2
diff --git a/changelog/README.md b/changelog/README.md
index 83ebb44239f..b01c3db3bf9 100644
--- a/changelog/README.md
+++ b/changelog/README.md
@@ -21,6 +21,52 @@ under the License.
+### 4.19.2
+
+- [bug] CASSJAVA-116: Retry or Speculative Execution with RequestIdGenerator throws "Duplicate Key"
+
+### 4.19.1
+
+- [improvement] CASSJAVA-97: Let users inject an ID for each request and write to the custom payload
+- [improvement] CASSJAVA-92: Add Local DC to driver connection info and provide visibility with nodetool clientstats
+- [bug] PR 2025: Eliminate lock in ConcurrencyLimitingRequestThrottler
+- [improvement] CASSJAVA-89: Fix deprecated table configs in Cassandra 5
+- [improvement] PR 2028: Remove unnecessary locking in DefaultNettyOptions
+- [improvement] CASSJAVA-102: Fix revapi spurious complaints about optional dependencies
+- [improvement] PR 2013: Add SubnetAddressTranslator
+- [improvement] CASSJAVA-68: Improve DefaultCodecRegistry.CacheKey#hashCode() to eliminate Object[] allocation
+- [improvement] PR 1989: Bump Jackson version to la(te)st 2.13.x, 2.13.5
+- [improvement] CASSJAVA-76: Make guava an optional dependency of java-driver-guava-shaded
+- [bug] PR 2035: Prevent long overflow in SNI address resolution
+- [improvement] CASSJAVA-77: 4.x: Upgrade Netty to 4.1.119
+- [improvement] CASSJAVA-40: Driver testing against Java 21
+- [improvement] CASSJAVA-90: Update native-protocol
+- [improvement] CASSJAVA-80: Support configuration to disable DNS reverse-lookups for SAN validation
+
+### 4.19.0
+
+- [bug] JAVA-3055: Prevent PreparedStatement cache to be polluted if a request is cancelled.
+- [bug] JAVA-3168: Copy node info for contact points on initial node refresh only from first match by endpoint
+- [improvement] JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)
+- [improvement] CASSJAVA-53: Update Guava version used in cassandra-java-driver
+- [improvement] JAVA-3118: Add support for vector data type in Schema Builder, QueryBuilder
+- [bug] CASSJAVA-55: Remove setting "Host" header for metadata requests
+- [bug] JAVA-3057: Allow decoding a UDT that has more fields than expected
+- [improvement] CASSJAVA-52: Bring java-driver-shaded-guava into the repo as a submodule
+- [bug] CASSJAVA-2: TableMetadata#describe produces invalid CQL when a type of a column is a vector
+- [bug] JAVA-3051: Memory leak in DefaultLoadBalancingPolicy measurement of response times
+- [improvement] CASSJAVA-14: Query builder support for NOT CQL syntax
+- [bug] CASSJAVA-12: DefaultSslEngineFactory missing null check on close
+- [improvement] CASSJAVA-46: Expose table extensions via schema builders
+- [bug] PR 1938: Fix uncaught exception during graceful channel shutdown after exceeding max orphan ids
+- [improvement] PR 1607: Annotate BatchStatement, Statement, SimpleStatement methods with CheckReturnValue
+- [improvement] CASSJAVA-41: Reduce lock held duration in ConcurrencyLimitingRequestThrottler
+- [bug] JAVA-3149: Async Query Cancellation Not Propagated To RequestThrottler
+- [bug] JAVA-3167: CompletableFutures.allSuccessful() may return never completed future
+- [bug] PR 1620: Don't return empty routing key when partition key is unbound
+- [improvement] PR 1623: Limit calls to Conversions.resolveExecutionProfile
+- [improvement] CASSJAVA-29: Update target Cassandra versions for integration tests, support new 5.0.x
+
### 4.18.1
- [improvement] JAVA-3142: Ability to specify ordering of remote local dc's via new configuration for graceful automatic failovers
diff --git a/ci/create-user.sh b/ci/create-user.sh
new file mode 100644
index 00000000000..fb193df9a00
--- /dev/null
+++ b/ci/create-user.sh
@@ -0,0 +1,60 @@
+#!/bin/bash
+# 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.
+
+################################
+#
+# Prep
+#
+################################
+
+if [ "$1" == "-h" ]; then
+ echo "$0 [-h] "
+ echo " this script is used internally by other scripts in the same directory to create a user with the running host user's same uid and gid"
+ exit 1
+fi
+
+# arguments
+username=$1
+uid=$2
+gid=$3
+BUILD_HOME=$4
+
+################################
+#
+# Main
+#
+################################
+
+# disable git directory ownership checks
+su ${username} -c "git config --global safe.directory '*'"
+
+if grep "^ID=" /etc/os-release | grep -q 'debian\|ubuntu' ; then
+ deluser docker
+ adduser --quiet --disabled-login --no-create-home --uid $uid --gecos ${username} ${username}
+ groupmod --non-unique -g $gid $username
+ gpasswd -a ${username} sudo >/dev/null
+else
+ adduser --no-create-home --uid $uid ${username}
+fi
+
+# sudo priviledges
+echo "${username} ALL=(root) NOPASSWD:ALL" > /etc/sudoers.d/${username}
+chmod 0440 /etc/sudoers.d/${username}
+
+# proper permissions
+chown -R ${username}:${username} /home/docker
+chmod og+wx ${BUILD_HOME}
\ No newline at end of file
diff --git a/ci/run-tests.sh b/ci/run-tests.sh
new file mode 100755
index 00000000000..5268bdd7113
--- /dev/null
+++ b/ci/run-tests.sh
@@ -0,0 +1,12 @@
+#!/bin/bash -x
+
+. ~/.jabba/jabba.sh
+. ~/env.txt
+cd $(dirname "$(readlink -f "$0")")/..
+printenv | sort
+mvn -B -V install -DskipTests -Dmaven.javadoc.skip=true
+jabba use ${TEST_JAVA_VERSION}
+# Find out the latest patch version of Cassandra
+PATCH_SERVER_VERSION=$(curl -s https://downloads.apache.org/cassandra/ | grep -oP '(?<=href=\")[0-9]+\.[0-9]+\.[0-9]+(?=)' | sort -rV | uniq -w 3 | grep $SERVER_VERSION)
+printenv | sort
+mvn -B -V verify -T 1 -Ptest-jdk-${TEST_JAVA_MAJOR_VERSION} -DtestJavaHome=$(jabba which ${TEST_JAVA_VERSION}) -Dccm.version=${PATCH_SERVER_VERSION} -Dccm.dse=false -Dmaven.test.failure.ignore=true -Dmaven.javadoc.skip=true
diff --git a/core-shaded/pom.xml b/core-shaded/pom.xml
index 6c139aab127..84cb4b15398 100644
--- a/core-shaded/pom.xml
+++ b/core-shaded/pom.xml
@@ -23,7 +23,7 @@
org.apache.cassandra
java-driver-parent
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
java-driver-core-shaded
Apache Cassandra Java Driver - core with shaded deps
@@ -57,8 +57,8 @@
native-protocol
- com.datastax.oss
- java-driver-shaded-guava
+ org.apache.cassandra
+ java-driver-guava-shaded
com.typesafe
@@ -74,7 +74,7 @@
true
- org.lz4
+ at.yawk.lz4
lz4-java
true
diff --git a/core/pom.xml b/core/pom.xml
index 33688754f1b..8758d20d78a 100644
--- a/core/pom.xml
+++ b/core/pom.xml
@@ -23,7 +23,7 @@
org.apache.cassandra
java-driver-parent
- 4.18.2-SNAPSHOT
+ 4.19.3-SNAPSHOT
java-driver-core
bundle
@@ -49,8 +49,8 @@
netty-handler
- com.datastax.oss
- java-driver-shaded-guava
+ org.apache.cassandra
+ java-driver-guava-shaded
com.typesafe
@@ -73,7 +73,7 @@
true
- org.lz4
+ at.yawk.lz4
lz4-java
true
diff --git a/core/revapi.json b/core/revapi.json
index 318e29709ec..8c707659c13 100644
--- a/core/revapi.json
+++ b/core/revapi.json
@@ -1,5 +1,3 @@
-// Configures Revapi (https://revapi.org/getting-started.html) to check API compatibility between
-// successive driver versions.
{
"revapi": {
"java": {
@@ -6956,6 +6954,464 @@
"old": "method java.lang.Throwable java.lang.Throwable::fillInStackTrace() @ com.fasterxml.jackson.databind.deser.UnresolvedForwardReference",
"new": "method com.fasterxml.jackson.databind.deser.UnresolvedForwardReference com.fasterxml.jackson.databind.deser.UnresolvedForwardReference::fillInStackTrace()",
"justification": "Upgrade jackson-databind to 2.13.4.1 to address CVEs, API change cause: https://github.com/FasterXML/jackson-databind/issues/3419"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BatchStatement",
+ "new": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BatchStatement",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BatchableStatement>",
+ "new": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BatchStatement",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BatchableStatement>",
+ "new": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BatchableStatement>",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BoundStatement",
+ "new": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.BoundStatement",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.SimpleStatement",
+ "new": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int) @ com.datastax.oss.driver.api.core.cql.SimpleStatement",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int)",
+ "new": "method SelfT com.datastax.oss.driver.api.core.cql.Statement>::setNowInSeconds(int)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::add(com.datastax.oss.driver.api.core.cql.BatchableStatement>)",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::add(com.datastax.oss.driver.api.core.cql.BatchableStatement>)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::addAll(com.datastax.oss.driver.api.core.cql.BatchableStatement>[])",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::addAll(com.datastax.oss.driver.api.core.cql.BatchableStatement>[])",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::addAll(java.lang.Iterable extends com.datastax.oss.driver.api.core.cql.BatchableStatement>>)",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::addAll(java.lang.Iterable extends com.datastax.oss.driver.api.core.cql.BatchableStatement>>)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::clear()",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::clear()",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::setBatchType(com.datastax.oss.driver.api.core.cql.BatchType)",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::setBatchType(com.datastax.oss.driver.api.core.cql.BatchType)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::setKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier)",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::setKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "JAVA-2161: Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::setKeyspace(java.lang.String)",
+ "new": "method com.datastax.oss.driver.api.core.cql.BatchStatement com.datastax.oss.driver.api.core.cql.BatchStatement::setKeyspace(java.lang.String)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "JAVA-2161: Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setQuery(java.lang.String)",
+ "new": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setQuery(java.lang.String)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier)",
+ "new": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setKeyspace(com.datastax.oss.driver.api.core.CqlIdentifier)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setKeyspace(java.lang.String)",
+ "new": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setKeyspace(java.lang.String)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setPositionalValues(java.util.List)",
+ "new": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setPositionalValues(java.util.List)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setNamedValuesWithIds(java.util.Map)",
+ "new": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setNamedValuesWithIds(java.util.Map)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.annotation.added",
+ "old": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setNamedValues(java.util.Map)",
+ "new": "method com.datastax.oss.driver.api.core.cql.SimpleStatement com.datastax.oss.driver.api.core.cql.SimpleStatement::setNamedValues(java.util.Map)",
+ "annotation": "@edu.umd.cs.findbugs.annotations.CheckReturnValue",
+ "justification": "Annotate mutating methods with @CheckReturnValue"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::from(java.lang.String, ===com.datastax.oss.driver.api.core.type.codec.TypeCodec===)",
+ "new": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::from(java.lang.String, ===com.datastax.oss.driver.api.core.type.codec.TypeCodec===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::from(java.lang.String, com.datastax.oss.driver.api.core.type.codec.TypeCodec)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::from(java.lang.String, com.datastax.oss.driver.api.core.type.codec.TypeCodec)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::from(java.lang.String, com.datastax.oss.driver.api.core.type.codec.TypeCodec)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::from(java.lang.String, com.datastax.oss.driver.api.core.type.codec.TypeCodec)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeChanged",
+ "old": "method T com.datastax.oss.driver.api.core.data.CqlVector::get(int)",
+ "new": "method T com.datastax.oss.driver.api.core.data.CqlVector::get(int)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method java.util.Iterator com.datastax.oss.driver.api.core.data.CqlVector::iterator()",
+ "new": "method java.util.Iterator com.datastax.oss.driver.api.core.data.CqlVector::iterator()",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(===V[]===)",
+ "new": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(===V[]===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(V[])",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(V[])",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(V[])",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(V[])",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(===java.util.List===)",
+ "new": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(===java.util.List===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(java.util.List)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(java.util.List)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(java.util.List)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::newInstance(java.util.List)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeChanged",
+ "old": "parameter T com.datastax.oss.driver.api.core.data.CqlVector::set(int, ===T===)",
+ "new": "parameter T com.datastax.oss.driver.api.core.data.CqlVector::set(int, ===T===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeChanged",
+ "old": "method T com.datastax.oss.driver.api.core.data.CqlVector::set(int, T)",
+ "new": "method T com.datastax.oss.driver.api.core.data.CqlVector::set(int, T)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method java.util.Spliterator java.lang.Iterable::spliterator() @ com.datastax.oss.driver.api.core.data.CqlVector",
+ "new": "method java.util.Spliterator java.lang.Iterable::spliterator() @ com.datastax.oss.driver.api.core.data.CqlVector",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method java.util.stream.Stream com.datastax.oss.driver.api.core.data.CqlVector::stream()",
+ "new": "method java.util.stream.Stream com.datastax.oss.driver.api.core.data.CqlVector::stream()",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::subVector(int, int)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.CqlVector::subVector(int, int)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.class.noLongerImplementsInterface",
+ "old": "class com.datastax.oss.driver.api.core.data.CqlVector",
+ "new": "class com.datastax.oss.driver.api.core.data.CqlVector",
+ "interface": "java.lang.Iterable",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "class com.datastax.oss.driver.api.core.data.CqlVector",
+ "new": "class com.datastax.oss.driver.api.core.data.CqlVector",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.class.superTypeTypeParametersChanged",
+ "old": "class com.datastax.oss.driver.api.core.data.CqlVector",
+ "new": "class com.datastax.oss.driver.api.core.data.CqlVector",
+ "oldSuperType": "java.lang.Iterable",
+ "newSuperType": "java.lang.Iterable",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableById::getVector(com.datastax.oss.driver.api.core.CqlIdentifier, ===java.lang.Class===)",
+ "new": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableById::getVector(com.datastax.oss.driver.api.core.CqlIdentifier, ===java.lang.Class===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableById::getVector(com.datastax.oss.driver.api.core.CqlIdentifier, java.lang.Class)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableById::getVector(com.datastax.oss.driver.api.core.CqlIdentifier, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableById::getVector(com.datastax.oss.driver.api.core.CqlIdentifier, java.lang.Class)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableById::getVector(com.datastax.oss.driver.api.core.CqlIdentifier, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByIndex::getVector(int, ===java.lang.Class===)",
+ "new": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByIndex::getVector(int, ===java.lang.Class===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByIndex::getVector(int, java.lang.Class)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByIndex::getVector(int, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByIndex::getVector(int, java.lang.Class)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByIndex::getVector(int, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByName::getVector(java.lang.String, ===java.lang.Class===)",
+ "new": "parameter com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByName::getVector(java.lang.String, ===java.lang.Class===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.returnTypeTypeParametersChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByName::getVector(java.lang.String, java.lang.Class)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByName::getVector(java.lang.String, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByName::getVector(java.lang.String, java.lang.Class)",
+ "new": "method com.datastax.oss.driver.api.core.data.CqlVector com.datastax.oss.driver.api.core.data.GettableByName::getVector(java.lang.String, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableById>::setVector(com.datastax.oss.driver.api.core.CqlIdentifier, ===com.datastax.oss.driver.api.core.data.CqlVector===, java.lang.Class)",
+ "new": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableById>::setVector(com.datastax.oss.driver.api.core.CqlIdentifier, ===com.datastax.oss.driver.api.core.data.CqlVector===, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableById>::setVector(com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.data.CqlVector, ===java.lang.Class===)",
+ "new": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableById>::setVector(com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.data.CqlVector, ===java.lang.Class===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method SelfT com.datastax.oss.driver.api.core.data.SettableById>::setVector(com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.data.CqlVector, java.lang.Class)",
+ "new": "method SelfT com.datastax.oss.driver.api.core.data.SettableById>::setVector(com.datastax.oss.driver.api.core.CqlIdentifier, com.datastax.oss.driver.api.core.data.CqlVector, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByIndex>::setVector(int, ===com.datastax.oss.driver.api.core.data.CqlVector===, java.lang.Class)",
+ "new": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByIndex>::setVector(int, ===com.datastax.oss.driver.api.core.data.CqlVector===, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByIndex>::setVector(int, com.datastax.oss.driver.api.core.data.CqlVector, ===java.lang.Class===)",
+ "new": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByIndex>::setVector(int, com.datastax.oss.driver.api.core.data.CqlVector, ===java.lang.Class===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method SelfT com.datastax.oss.driver.api.core.data.SettableByIndex>::setVector(int, com.datastax.oss.driver.api.core.data.CqlVector, java.lang.Class)",
+ "new": "method SelfT com.datastax.oss.driver.api.core.data.SettableByIndex>::setVector(int, com.datastax.oss.driver.api.core.data.CqlVector, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByName>::setVector(java.lang.String, ===com.datastax.oss.driver.api.core.data.CqlVector===, java.lang.Class)",
+ "new": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByName>::setVector(java.lang.String, ===com.datastax.oss.driver.api.core.data.CqlVector===, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByName>::setVector(java.lang.String, com.datastax.oss.driver.api.core.data.CqlVector, ===java.lang.Class===)",
+ "new": "parameter SelfT com.datastax.oss.driver.api.core.data.SettableByName>::setVector(java.lang.String, com.datastax.oss.driver.api.core.data.CqlVector, ===java.lang.Class===)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.generics.formalTypeParameterChanged",
+ "old": "method SelfT com.datastax.oss.driver.api.core.data.SettableByName>::setVector(java.lang.String, com.datastax.oss.driver.api.core.data.CqlVector, java.lang.Class)",
+ "new": "method SelfT com.datastax.oss.driver.api.core.data.SettableByName>::setVector(java.lang.String, com.datastax.oss.driver.api.core.data.CqlVector, java.lang.Class)",
+ "justification": "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)"
+ },
+ {
+ "code": "java.method.parameterTypeParameterChanged",
+ "old": "parameter com.datastax.oss.driver.api.core.type.codec.TypeCodec> com.datastax.oss.driver.api.core.type.codec.TypeCodecs::vectorOf(com.datastax.oss.driver.api.core.type.VectorType, ===com.datastax.oss.driver.api.core.type.codec.TypeCodec===)",
+ "new": "parameter com.datastax.oss.driver.api.core.type.codec.TypeCodec