Skip to content

Commit 1718dab

Browse files
committed
Merge upstream changes until 4.19.0
Merge commit '90612f6758eb0f0ba964daf054f397a47a90a736' of https://github.com/apache/cassandra-java-driver into scylla-4.x-pull-upstream-4.19.0-cleaned Following changes were made: Merged "CASSANDRA-19635: Run integration tests with C* 5.x": - InventoryITBase slight adjustments - CcmBridge: skip updateJVMVersion changes Merged "CASSANDRA-19635: Configure Jenkins to run integration tests with C* 5.x": - No impact on the fork. Modifies only jenkinsfile. Skipped "update badge URL to org.apache.cassandra/java-driver-core": - Fork's badge remains as is. Merged "Limit calls to Conversions.resolveExecutionProfile" Skipped "autolink JIRA tickets in commit messages" Merged "Don't return empty routing key when partition key is unbound" Merged "JAVA-3167: CompletableFutures.allSuccessful() may return never completed future" Merged "ninja-fix Various test fixes" Merged "Run integration tests with DSE 6.9.0": - Allowed new Version definitions - Rejected some methods from CcmBridge for jvm version overrides Merged "JAVA-3117: Call CcmCustomRule#after if CcmCustomRule#before fails to allow subsequent tests to run" Merged "JAVA-3149: Support request cancellation in request throttler" Merged "Fix C* 3.0 tests failing on Jenkins" Merged "Reduce lock held duration in ConcurrencyLimitingRequestThrottler" Merged "Annotate BatchStatement, Statement, SimpleStatement methods with CheckReturnValue" Merged "Remove "beta" support for Java17 from docs" Merged "Fix uncaught exception during graceful channel shutdown" Merged "Build a public CI for Apache Cassandra Java Driver": - No impact on the fork. Changes unused jenkinsfiles and scripts. Merged "CASSANDRA-19932: Allow to define extensions while creating table" Merged "Fix DefaultSslEngineFactory missing null check on close" Merged "Query builder support for NOT CQL syntax": - This is C* 5.1 feature. Not yet supported in ScyllaDB. Merged "Fix CustomCcmRule to drop CURRENT flag no matter what" Merged "JAVA-3051: Memory leak" Merged "Automate latest Cassandra versions when running CI": - Similarly, has no impact on the fork. Merged "Refactor integration tests to support multiple C* distributions. Test with DataStax HCD 1.0.0": - Added `BackendType.SCYLLA` - CcmBridge was adjusted to use a mix of variables made for our CI and upstream additions Merged "Fix TableMetadata.describe() when containing a vector column" Merged "Move Apache Cassandra 5.x off of beta1 and remove some older Apache Cassandra versions." - No impact on the fork. Skipped "Update link to Jira to be CASSJAVA" Merged "Move DataStax shaded Guava module into Java driver": - Adjusted groupId to be com.scylladb in our case - Adjusted plugins so that driver builds using same commands as before. Merged "JAVA-3057 Allow decoding a UDT that has more fields than expected" Merged "CASSJAVA-55 Remove setting "Host" header for metadata requests." Merged "JAVA-3118: Add support for vector data type in Schema Builder, QueryBuilder" Merged "Upgrade Guava to 33.3.1-jre" Skipped "Conditionally compile shaded Guava module": - This was needed in the upstream's CI. Conflicted with fork's setup. Merged "JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)" Merged "JAVA-3168 Copy node info for contact points on initial node refresh only from first match by endpoint" Merged "JAVA-3055: Prevent PreparedStatement cache to be polluted if a request is cancelled." Merged "Expose a decorator for CqlPrepareAsyncProcessor cache rather than the ability to specify an arbitrary cache from scratch." Merged "ninja-fix Using shaded Guava classes for import in order to make OSGi class paths happy." Merged "Changelog updates for 4.19.0" Skipped "[maven-release-plugin] prepare release 4.19.0" Merged(*) "[maven-release-plugin] prepare for next development iteration": - Versions were manually set to 4.19.0.0-SNAPSHOT, overriding the changes in this commit - This (90612f6) will be the next merge base.
2 parents e284583 + 90612f6 commit 1718dab

File tree

164 files changed

+4121
-968
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

164 files changed

+4121
-968
lines changed

Jenkinsfile-asf

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
#!groovy
2+
3+
/*
4+
* Licensed to the Apache Software Foundation (ASF) under one
5+
* or more contributor license agreements. See the NOTICE file
6+
* distributed with this work for additional information
7+
* regarding copyright ownership. The ASF licenses this file
8+
* to you under the Apache License, Version 2.0 (the
9+
* "License"); you may not use this file except in compliance
10+
* with the License. You may obtain a copy of the License at
11+
*
12+
* http://www.apache.org/licenses/LICENSE-2.0
13+
*
14+
* Unless required by applicable law or agreed to in writing,
15+
* software distributed under the License is distributed on an
16+
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
17+
* KIND, either express or implied. See the License for the
18+
* specific language governing permissions and limitations
19+
* under the License.
20+
*/
21+
22+
pipeline {
23+
agent {
24+
label 'cassandra-small'
25+
}
26+
27+
triggers {
28+
// schedules only run against release branches (i.e. 3.x, 4.x, 4.5.x, etc.)
29+
cron(branchPatternCron().matcher(env.BRANCH_NAME).matches() ? '@weekly' : '')
30+
}
31+
32+
stages {
33+
stage('Matrix') {
34+
matrix {
35+
axes {
36+
axis {
37+
name 'TEST_JAVA_VERSION'
38+
values '[email protected]', '[email protected]', 'openjdk@17'
39+
}
40+
axis {
41+
name 'SERVER_VERSION'
42+
values '3.11',
43+
'4.0',
44+
'4.1',
45+
'5.0'
46+
}
47+
}
48+
stages {
49+
stage('Tests') {
50+
agent {
51+
label 'cassandra-medium'
52+
}
53+
steps {
54+
script {
55+
executeTests()
56+
junit testResults: '**/target/surefire-reports/TEST-*.xml', allowEmptyResults: true
57+
junit testResults: '**/target/failsafe-reports/TEST-*.xml', allowEmptyResults: true
58+
}
59+
}
60+
}
61+
}
62+
}
63+
}
64+
}
65+
}
66+
67+
def executeTests() {
68+
def testJavaMajorVersion = (TEST_JAVA_VERSION =~ /@(?:1\.)?(\d+)/)[0][1]
69+
sh """
70+
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')
71+
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\"
72+
docker exec --user docker \$container_id './cassandra-java-driver/ci/run-tests.sh'
73+
( nohup docker stop \$container_id >/dev/null 2>/dev/null & )
74+
"""
75+
}
76+
77+
// branch pattern for cron
78+
// should match 3.x, 4.x, 4.5.x, etc
79+
def branchPatternCron() {
80+
~'((\\d+(\\.[\\dx]+)+))'
81+
}

Jenkinsfile renamed to Jenkinsfile-datastax

Lines changed: 49 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ def initializeEnvironment() {
6161
. ${JABBA_SHELL}
6262
jabba which 1.8''', returnStdout: true).trim()
6363

64-
sh label: 'Download Apache CassandraⓇ or DataStax Enterprise',script: '''#!/bin/bash -le
64+
sh label: 'Download Apache CassandraⓇ, DataStax Enterprise or DataStax HCD ',script: '''#!/bin/bash -le
6565
. ${JABBA_SHELL}
6666
jabba use 1.8
6767
. ${CCM_ENVIRONMENT_SHELL} ${SERVER_VERSION}
@@ -75,13 +75,26 @@ CCM_CASSANDRA_VERSION=${DSE_FIXED_VERSION} # maintain for backwards compatibilit
7575
CCM_VERSION=${DSE_FIXED_VERSION}
7676
CCM_SERVER_TYPE=dse
7777
DSE_VERSION=${DSE_FIXED_VERSION}
78-
CCM_IS_DSE=true
7978
CCM_BRANCH=${DSE_FIXED_VERSION}
8079
DSE_BRANCH=${DSE_FIXED_VERSION}
8180
ENVIRONMENT_EOF
8281
'''
8382
}
8483

84+
if (env.SERVER_VERSION.split('-')[0] == 'hcd') {
85+
env.HCD_FIXED_VERSION = env.SERVER_VERSION.split('-')[1]
86+
sh label: 'Update environment for DataStax HCD', script: '''#!/bin/bash -le
87+
cat >> ${HOME}/environment.txt << ENVIRONMENT_EOF
88+
CCM_CASSANDRA_VERSION=${HCD_FIXED_VERSION} # maintain for backwards compatibility
89+
CCM_VERSION=${HCD_FIXED_VERSION}
90+
CCM_SERVER_TYPE=hcd
91+
HCD_VERSION=${HCD_FIXED_VERSION}
92+
CCM_BRANCH=${HCD_FIXED_VERSION}
93+
HCD_BRANCH=${HCD_FIXED_VERSION}
94+
ENVIRONMENT_EOF
95+
'''
96+
}
97+
8598
sh label: 'Display Java and environment information',script: '''#!/bin/bash -le
8699
# Load CCM environment variables
87100
set -o allexport
@@ -144,7 +157,7 @@ def executeTests() {
144157
-Dmaven.test.failure.ignore=true \
145158
-Dmaven.javadoc.skip=${SKIP_JAVADOCS} \
146159
-Dccm.version=${CCM_CASSANDRA_VERSION} \
147-
-Dccm.dse=${CCM_IS_DSE} \
160+
-Dccm.distribution=${CCM_SERVER_TYPE:cassandra} \
148161
-Dproxy.path=${HOME}/proxy \
149162
${SERIAL_ITS_ARGUMENT} \
150163
${ISOLATED_ITS_ARGUMENT} \
@@ -255,19 +268,17 @@ pipeline {
255268
</table>''')
256269
choice(
257270
name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_SERVER_VERSION',
258-
choices: ['2.1', // Legacy Apache CassandraⓇ
259-
'2.2', // Legacy Apache CassandraⓇ
260-
'3.0', // Previous Apache CassandraⓇ
261-
'3.11', // Previous Apache CassandraⓇ
262-
'4.0', // Previous Apache CassandraⓇ
263-
'4.1', // Current Apache CassandraⓇ
264-
'5.0', // Development Apache CassandraⓇ
271+
choices: ['4.0', // Previous Apache CassandraⓇ
272+
'4.1', // Previous Apache CassandraⓇ
273+
'5.0', // Current Apache CassandraⓇ
265274
'dse-4.8.16', // Previous EOSL DataStax Enterprise
266275
'dse-5.0.15', // Long Term Support DataStax Enterprise
267276
'dse-5.1.35', // Legacy DataStax Enterprise
268277
'dse-6.0.18', // Previous DataStax Enterprise
269278
'dse-6.7.17', // Previous DataStax Enterprise
270279
'dse-6.8.30', // Current DataStax Enterprise
280+
'dse-6.9.0', // Current DataStax Enterprise
281+
'hcd-1.0.0', // Current DataStax HCD
271282
'ALL'],
272283
description: '''Apache Cassandra&reg; and DataStax Enterprise server version to use for adhoc <b>BUILD-AND-EXECUTE-TESTS</b> builds
273284
<table style="width:100%">
@@ -277,22 +288,6 @@ pipeline {
277288
<th align="left">Choice</th>
278289
<th align="left">Description</th>
279290
</tr>
280-
<tr>
281-
<td><strong>2.1</strong></td>
282-
<td>Apache Cassandra&reg; v2.1.x</td>
283-
</tr>
284-
<tr>
285-
<td><strong>2.2</strong></td>
286-
<td>Apache Cassandra&reg; v2.2.x</td>
287-
</tr>
288-
<tr>
289-
<td><strong>3.0</strong></td>
290-
<td>Apache Cassandra&reg; v3.0.x</td>
291-
</tr>
292-
<tr>
293-
<td><strong>3.11</strong></td>
294-
<td>Apache Cassandra&reg; v3.11.x</td>
295-
</tr>
296291
<tr>
297292
<td><strong>4.0</strong></td>
298293
<td>Apache Cassandra&reg; v4.0.x</td>
@@ -301,6 +296,10 @@ pipeline {
301296
<td><strong>4.1</strong></td>
302297
<td>Apache Cassandra&reg; v4.1.x</td>
303298
</tr>
299+
<tr>
300+
<td><strong>5.0</strong></td>
301+
<td>Apache Cassandra&reg; v5.0.x</td>
302+
</tr>
304303
<tr>
305304
<td><strong>dse-4.8.16</strong></td>
306305
<td>DataStax Enterprise v4.8.x (<b>END OF SERVICE LIFE</b>)</td>
@@ -325,6 +324,14 @@ pipeline {
325324
<td><strong>dse-6.8.30</strong></td>
326325
<td>DataStax Enterprise v6.8.x</td>
327326
</tr>
327+
<tr>
328+
<td><strong>dse-6.9.0</strong></td>
329+
<td>DataStax Enterprise v6.9.x</td>
330+
</tr>
331+
<tr>
332+
<td><strong>hcd-1.0.0</strong></td>
333+
<td>DataStax HCD v1.0.x</td>
334+
</tr>
328335
</table>''')
329336
choice(
330337
name: 'ADHOC_BUILD_AND_EXECUTE_TESTS_JABBA_VERSION',
@@ -411,14 +418,11 @@ pipeline {
411418
triggers {
412419
// schedules only run against release branches (i.e. 3.x, 4.x, 4.5.x, etc.)
413420
parameterizedCron(branchPatternCron().matcher(env.BRANCH_NAME).matches() ? """
414-
# Every weeknight (Monday - Friday) around 2:00 AM
415-
### JDK8 tests against 2.1, 3.0, DSE 4.8, DSE 5.0, DSE 5.1, dse-6.0.18 and DSE 6.7
416-
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
417-
### JDK11 tests against 3.11, 4.0 and DSE 6.8
418-
H 2 * * 1-5 %CI_SCHEDULE=WEEKNIGHTS;CI_SCHEDULE_SERVER_VERSIONS=3.11 4.0 dse-6.8.30;[email protected]
419-
# Every weekend (Sunday) around 12:00 PM noon
420-
### JDK14 tests against 3.11, 4.0 and DSE 6.8
421-
H 12 * * 0 %CI_SCHEDULE=WEEKENDS;CI_SCHEDULE_SERVER_VERSIONS=3.11 4.0 dse-6.8.30;[email protected]
421+
# Every weekend (Saturday, Sunday) around 2:00 AM
422+
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
423+
# Every weeknight (Monday - Friday) around 12:00 PM noon
424+
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;[email protected]
425+
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;[email protected]
422426
""" : "")
423427
}
424428

@@ -452,9 +456,11 @@ pipeline {
452456
axes {
453457
axis {
454458
name 'SERVER_VERSION'
455-
values '3.11', // Latest stable Apache CassandraⓇ
456-
'4.1', // Development Apache CassandraⓇ
457-
'dse-6.8.30' // Current DataStax Enterprise
459+
values '4.0', // Previous Apache CassandraⓇ
460+
'5.0', // Current Apache CassandraⓇ
461+
'dse-6.8.30', // Current DataStax Enterprise
462+
'dse-6.9.0', // Current DataStax Enterprise
463+
'hcd-1.0.0' // Current DataStax HCD
458464
}
459465
axis {
460466
name 'JABBA_VERSION'
@@ -560,18 +566,17 @@ pipeline {
560566
axes {
561567
axis {
562568
name 'SERVER_VERSION'
563-
values '2.1', // Legacy Apache CassandraⓇ
564-
'3.0', // Previous Apache CassandraⓇ
565-
'3.11', // Previous Apache CassandraⓇ
566-
'4.0', // Previous Apache CassandraⓇ
567-
'4.1', // Current Apache CassandraⓇ
568-
'5.0', // Development Apache CassandraⓇ
569+
values '4.0', // Previous Apache CassandraⓇ
570+
'4.1', // Previous Apache CassandraⓇ
571+
'5.0', // Current Apache CassandraⓇ
569572
'dse-4.8.16', // Previous EOSL DataStax Enterprise
570573
'dse-5.0.15', // Last EOSL DataStax Enterprise
571574
'dse-5.1.35', // Legacy DataStax Enterprise
572575
'dse-6.0.18', // Previous DataStax Enterprise
573576
'dse-6.7.17', // Previous DataStax Enterprise
574-
'dse-6.8.30' // Current DataStax Enterprise
577+
'dse-6.8.30', // Current DataStax Enterprise
578+
'dse-6.9.0', // Current DataStax Enterprise
579+
'hcd-1.0.0' // Current DataStax HCD
575580
}
576581
}
577582
when {

bom/pom.xml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
<parent>
2929
<groupId>com.scylladb</groupId>
3030
<artifactId>java-driver-parent</artifactId>
31-
<version>4.18.1.1-SNAPSHOT</version>
31+
<version>4.19.0.0-SNAPSHOT</version>
3232
</parent>
3333
<artifactId>java-driver-bom</artifactId>
3434
<packaging>pom</packaging>
@@ -38,53 +38,53 @@
3838
<dependency>
3939
<groupId>com.scylladb</groupId>
4040
<artifactId>java-driver-core</artifactId>
41-
<version>4.18.1.1-SNAPSHOT</version>
41+
<version>4.19.0.0-SNAPSHOT</version>
4242
</dependency>
4343
<dependency>
4444
<groupId>com.scylladb</groupId>
4545
<artifactId>java-driver-core-shaded</artifactId>
46-
<version>4.18.1.1-SNAPSHOT</version>
46+
<version>4.19.0.0-SNAPSHOT</version>
4747
</dependency>
4848
<dependency>
4949
<groupId>com.scylladb</groupId>
5050
<artifactId>java-driver-mapper-processor</artifactId>
51-
<version>4.18.1.1-SNAPSHOT</version>
51+
<version>4.19.0.0-SNAPSHOT</version>
5252
</dependency>
5353
<dependency>
5454
<groupId>com.scylladb</groupId>
5555
<artifactId>java-driver-mapper-runtime</artifactId>
56-
<version>4.18.1.1-SNAPSHOT</version>
56+
<version>4.19.0.0-SNAPSHOT</version>
5757
</dependency>
5858
<dependency>
5959
<groupId>com.scylladb</groupId>
6060
<artifactId>java-driver-query-builder</artifactId>
61-
<version>4.18.1.1-SNAPSHOT</version>
61+
<version>4.19.0.0-SNAPSHOT</version>
62+
</dependency>
63+
<dependency>
64+
<groupId>com.scylladb</groupId>
65+
<artifactId>java-driver-guava-shaded</artifactId>
66+
<version>4.19.0.0-SNAPSHOT</version>
6267
</dependency>
6368
<dependency>
6469
<groupId>com.scylladb</groupId>
6570
<artifactId>java-driver-test-infra</artifactId>
66-
<version>4.18.1.1-SNAPSHOT</version>
71+
<version>4.19.0.0-SNAPSHOT</version>
6772
</dependency>
6873
<dependency>
6974
<groupId>com.scylladb</groupId>
7075
<artifactId>java-driver-metrics-micrometer</artifactId>
71-
<version>4.18.1.1-SNAPSHOT</version>
76+
<version>4.19.0.0-SNAPSHOT</version>
7277
</dependency>
7378
<dependency>
7479
<groupId>com.scylladb</groupId>
7580
<artifactId>java-driver-metrics-microprofile</artifactId>
76-
<version>4.18.1.1-SNAPSHOT</version>
81+
<version>4.19.0.0-SNAPSHOT</version>
7782
</dependency>
7883
<dependency>
7984
<groupId>com.datastax.oss</groupId>
8085
<artifactId>native-protocol</artifactId>
8186
<version>1.5.1</version>
8287
</dependency>
83-
<dependency>
84-
<groupId>com.datastax.oss</groupId>
85-
<artifactId>java-driver-shaded-guava</artifactId>
86-
<version>25.1-jre-graal-sub-1</version>
87-
</dependency>
8888
</dependencies>
8989
</dependencyManagement>
9090
<build>

changelog/README.md

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,30 @@ under the License.
2121

2222
<!-- Note: contrary to 3.x, insert new entries *first* in their section -->
2323

24+
### 4.19.0
25+
26+
- [bug] JAVA-3055: Prevent PreparedStatement cache to be polluted if a request is cancelled.
27+
- [bug] JAVA-3168: Copy node info for contact points on initial node refresh only from first match by endpoint
28+
- [improvement] JAVA-3143: Extend driver vector support to arbitrary subtypes and fix handling of variable length types (OSS C* 5.0)
29+
- [improvement] CASSJAVA-53: Update Guava version used in cassandra-java-driver
30+
- [improvement] JAVA-3118: Add support for vector data type in Schema Builder, QueryBuilder
31+
- [bug] CASSJAVA-55: Remove setting "Host" header for metadata requests
32+
- [bug] JAVA-3057: Allow decoding a UDT that has more fields than expected
33+
- [improvement] CASSJAVA-52: Bring java-driver-shaded-guava into the repo as a submodule
34+
- [bug] CASSJAVA-2: TableMetadata#describe produces invalid CQL when a type of a column is a vector
35+
- [bug] JAVA-3051: Memory leak in DefaultLoadBalancingPolicy measurement of response times
36+
- [improvement] CASSJAVA-14: Query builder support for NOT CQL syntax
37+
- [bug] CASSJAVA-12: DefaultSslEngineFactory missing null check on close
38+
- [improvement] CASSJAVA-46: Expose table extensions via schema builders
39+
- [bug] PR 1938: Fix uncaught exception during graceful channel shutdown after exceeding max orphan ids
40+
- [improvement] PR 1607: Annotate BatchStatement, Statement, SimpleStatement methods with CheckReturnValue
41+
- [improvement] CASSJAVA-41: Reduce lock held duration in ConcurrencyLimitingRequestThrottler
42+
- [bug] JAVA-3149: Async Query Cancellation Not Propagated To RequestThrottler
43+
- [bug] JAVA-3167: CompletableFutures.allSuccessful() may return never completed future
44+
- [bug] PR 1620: Don't return empty routing key when partition key is unbound
45+
- [improvement] PR 1623: Limit calls to Conversions.resolveExecutionProfile
46+
- [improvement] CASSJAVA-29: Update target Cassandra versions for integration tests, support new 5.0.x
47+
2448
### 4.18.1
2549

2650
- [improvement] JAVA-3142: Ability to specify ordering of remote local dc's via new configuration for graceful automatic failovers

0 commit comments

Comments
 (0)