Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add DSE 6.8.40, Cassandra 4.0.11, 4.1.3 and 5.0-alpha2 #420

Merged
merged 3 commits into from
Nov 10, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 10 additions & 10 deletions .github/workflows/docker-release.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,10 @@ jobs:
strategy:
fail-fast: false
matrix:
dse-version: [6.8.25, 6.8.26, 6.8.28, 6.8.29, 6.8.30, 6.8.31, 6.8.32, 6.8.33, 6.8.34, 6.8.35, 6.8.36, 6.8.37, 6.8.38, 6.8.39]
dse-version: [6.8.25, 6.8.26, 6.8.28, 6.8.29, 6.8.30, 6.8.31, 6.8.32, 6.8.33, 6.8.34, 6.8.35, 6.8.36, 6.8.37, 6.8.38, 6.8.39, 6.8.40]
image-base: [jdk8, jdk11]
include:
- dse-version: 6.8.39
- dse-version: 6.8.40
latest: true
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -106,10 +106,10 @@ jobs:
strategy:
fail-fast: false
matrix:
dse-version: [6.8.25, 6.8.26, 6.8.28, 6.8.29, 6.8.30, 6.8.31, 6.8.32, 6.8.33, 6.8.34, 6.8.35, 6.8.36, 6.8.37, 6.8.38, 6.8.39]
dse-version: [6.8.25, 6.8.26, 6.8.28, 6.8.29, 6.8.30, 6.8.31, 6.8.32, 6.8.33, 6.8.34, 6.8.35, 6.8.36, 6.8.37, 6.8.38, 6.8.39, 6.8.40]
image-base: [ubi8]
include:
- dse-version: 6.8.39
- dse-version: 6.8.40
latest: true
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -244,9 +244,9 @@ jobs:
strategy:
fail-fast: false
matrix:
cassandra-version: [4.0.0, 4.0.1, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.0.10]
cassandra-version: [4.0.0, 4.0.1, 4.0.3, 4.0.4, 4.0.5, 4.0.6, 4.0.7, 4.0.8, 4.0.9, 4.0.10, 4.0.11]
include:
- cassandra-version: 4.0.10
- cassandra-version: 4.0.11
latest: true
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -314,9 +314,9 @@ jobs:
strategy:
fail-fast: false
matrix:
cassandra-version: [4.1.0, 4.1.1, 4.1.2]
cassandra-version: [4.1.0, 4.1.1, 4.1.2, 4.1.3]
include:
- cassandra-version: 4.1.2
- cassandra-version: 4.1.3
latest: true
runs-on: ubuntu-latest
steps:
Expand Down Expand Up @@ -384,9 +384,9 @@ jobs:
strategy:
fail-fast: false
matrix:
cassandra-version: [5.0-alpha1]
cassandra-version: [5.0-alpha1, 5.0-alpha2]
include:
- cassandra-version: 5.0-alpha1
- cassandra-version: 5.0-alpha2
latest: true
runs-on: ubuntu-latest
steps:
Expand Down
2 changes: 2 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,8 @@ Changelog for Management API, new PRs should update the `main / unreleased` sect
* [BUGFIX] [#413](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/413) UBI8 images do not terminate correctly
* [BUGFIX] [#360](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/360) Support Cassandra 5.0-alpha1
* [FEATURE] [#398](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/398) Make Management API port configurable
* [FEATURE] [#419](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/419) Add DSE 6.8.40 to the build matrix
* [FEATURE] [#397](https://github.com/k8ssandra/management-api-for-apache-cassandra/issues/397) Add Cassandra 4.0.11, 4.1.3 5.0-alpha2

## v0.1.70 (2023-10-17)
* [BUGFIX] [#411](https://github.com/k8ssandra/management-api-for-apache-cassandra/pull/411) Serialize long types as Strings to avoid float64 conversion
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-4_0
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG CASSANDRA_VERSION=4.0.10
ARG CASSANDRA_VERSION=4.0.11

FROM --platform=$BUILDPLATFORM maven:3.8.7-eclipse-temurin-11 as builder

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-4_0.ubi8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG UBI_MAJOR=8
ARG UBI_BASETAG=latest
ARG CASSANDRA_VERSION=4.0.10
ARG CASSANDRA_VERSION=4.0.11
FROM registry.access.redhat.com/ubi${UBI_MAJOR}/ubi-minimal:${UBI_BASETAG} AS builder

ARG URL_PREFIX=https://dlcdn.apache.org/cassandra
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-4_1
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG CASSANDRA_VERSION=4.1.2
ARG CASSANDRA_VERSION=4.1.3

FROM --platform=$BUILDPLATFORM maven:3.8.7-eclipse-temurin-11 as builder

Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-4_1.ubi8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG UBI_MAJOR=8
ARG UBI_BASETAG=latest
ARG CASSANDRA_VERSION=4.1.2
ARG CASSANDRA_VERSION=4.1.3
FROM registry.access.redhat.com/ubi${UBI_MAJOR}/ubi-minimal:${UBI_BASETAG} AS builder

ARG URL_PREFIX=https://dlcdn.apache.org/cassandra
Expand Down
2 changes: 1 addition & 1 deletion Dockerfile-5_0.ubi8
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
ARG UBI_MAJOR=8
ARG UBI_BASETAG=latest
ARG CASSANDRA_VERSION=5.0-alpha1
ARG CASSANDRA_VERSION=5.0-alpha2
FROM registry.access.redhat.com/ubi${UBI_MAJOR}/ubi-minimal:${UBI_BASETAG} AS builder

ARG URL_PREFIX=https://dlcdn.apache.org/cassandra
Expand Down
5 changes: 3 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -59,17 +59,18 @@ The following versions of Cassandra and DSE are published to Docker and supporte
| 3.11.7 | 4.0.0 | 4.1.0 | 6.8.25 |
| 3.11.8 | 4.0.1 | 4.1.1 | 6.8.26 |
| 3.11.11 | 4.0.3 | 4.1.2 | 6.8.28 |
| 3.11.12 | 4.0.4 | | 6.8.29 |
| 3.11.12 | 4.0.4 | 4.1.3 | 6.8.29 |
| 3.11.13 | 4.0.5 | | 6.8.30 |
| 3.11.14 | 4.0.6 | | 6.8.31 |
| 3.11.15 | 4.0.7 | | 6.8.32 |
| 3.11.16 | 4.0.8 | | 6.8.33 |
| | 4.0.9 | | 6.8.34 |
| | 4.0.10 | | 6.8.35 |
| | | | 6.8.36 |
| | 4.0.11 | | 6.8.36 |
| | | | 6.8.37 |
| | | | 6.8.38 |
| | | | 6.8.39 |
| | | | 6.8.40 |

- All supported images are available in `linux/amd64` or `linux/arm64` formats.
- All images (with the exception of Cassandra trunk) are available as an Ubuntu based image or a RedHat UBI 8 based image.
Expand Down
2 changes: 1 addition & 1 deletion dse-68/Dockerfile.jdk11
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ENV DSE_HOME /opt/dse
ENV DSE_AGENT_HOME /opt/agent

# Get commandline parameters
ARG DSE_VERSION=6.8.39
ARG DSE_VERSION=6.8.40
ARG URL_PREFIX=https://downloads.datastax.com/enterprise
ARG TARBALL=dse-${DSE_VERSION}-bin.tar.gz
ARG DOWNLOAD_URL=${URL_PREFIX}/${TARBALL}
Expand Down
2 changes: 1 addition & 1 deletion dse-68/Dockerfile.jdk8
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ ENV DSE_HOME /opt/dse
ENV DSE_AGENT_HOME /opt/agent

# Get commandline parameters
ARG DSE_VERSION=6.8.39
ARG DSE_VERSION=6.8.40
ARG URL_PREFIX=https://downloads.datastax.com/enterprise
ARG TARBALL=dse-${DSE_VERSION}-bin.tar.gz
ARG DOWNLOAD_URL=${URL_PREFIX}/${TARBALL}
Expand Down
2 changes: 1 addition & 1 deletion dse-68/Dockerfile.ubi8
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
ARG DSE_VERSION=6.8.39
ARG DSE_VERSION=6.8.40
ARG UBI_MAJOR=8
ARG UBI_BASETAG=latest

Expand Down
2 changes: 1 addition & 1 deletion management-api-agent-4.1.x/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<version>${revision}</version>
<artifactId>datastax-mgmtapi-agent-4.1.x</artifactId>
<properties>
<cassandra4.version>4.1.2</cassandra4.version>
<cassandra4.version>4.1.3</cassandra4.version>
</properties>
<dependencies>
<dependency>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
import io.netty.channel.VoidChannelPromise;
import io.netty.handler.codec.ByteToMessageDecoder;
import io.netty.util.Attribute;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
Expand All @@ -33,6 +34,7 @@
import org.apache.cassandra.transport.messages.StartupMessage;
import org.apache.cassandra.transport.messages.SupportedMessage;
import org.apache.cassandra.utils.JVMStabilityInspector;
import org.apache.cassandra.utils.MonotonicClock;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

Expand Down Expand Up @@ -285,8 +287,54 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf buffer, List<Object> ou

promise = new VoidChannelPromise(ctx.channel(), false);

Message.Response response =
Dispatcher.processRequest(ctx.channel(), startup, Overload.NONE);
// In Cassandra 4.1.3, Dispatcher.processRequest method signatures changed in order to
// add CASSANDRA-15241 (https://issues.apache.org/jira/browse/CASSANDRA-15241). To
// avoid splitting the 4.1 agent based on which version of Cassandra it runs with,
// we'll use reflection here to determine the correct method to invoke.
Method processRequestMethod = null;
boolean requiresStartTime = false;
try {
// try to get the Cassandra 4.1.3+ method
processRequestMethod =
Dispatcher.class.getDeclaredMethod(
"processRequest",
Channel.class,
Message.Request.class,
Overload.class,
long.class);
// 4.1.3 method found so we'll need to invoke it with a start time
requiresStartTime = true;
} catch (NoSuchMethodException ex) {
// 4.1.3+ method doesn't existy, try 4.1.2- method
logger.debug(
"Cassandra Dispatcher.processRequest() for 4.1.3 not found, trying 4.1.2 method");
try {
processRequestMethod =
Dispatcher.class.getDeclaredMethod(
"processRequest", Channel.class, Message.Request.class, Overload.class);
} catch (NoSuchMethodException ex2) {
// something is broken, need to figure out what method/signature should be used
logger.error(
"Expected Cassandra Dispatcher.processRequest() method signature not found. Management API agent will not be able to start Cassandra.",
ex2);
throw ex2;
}
}
Message.Response response;
if (requiresStartTime) {
response =
(Message.Response)
processRequestMethod.invoke(
null,
ctx.channel(),
startup,
Overload.NONE,
MonotonicClock.Global.approxTime.now());
} else {
response =
(Message.Response)
processRequestMethod.invoke(null, ctx.channel(), startup, Overload.NONE);
}

if (response.type.equals(Message.Type.AUTHENTICATE))
// bypass authentication
Expand Down
2 changes: 1 addition & 1 deletion management-api-agent-5.0.x/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
<version>${revision}</version>
<artifactId>datastax-mgmtapi-agent-5.0.x</artifactId>
<properties>
<cassandra5.version>5.0-alpha1</cassandra5.version>
<cassandra5.version>5.0-alpha2</cassandra5.version>
</properties>
<dependencies>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion management-api-agent-dse-6.8/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
</repository>
</repositories>
<properties>
<dse.version>6.8.39</dse.version>
<dse.version>6.8.40</dse.version>
</properties>
<dependencies>
<dependency>
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
<revision>0.1.0-SNAPSHOT</revision>
<driver.version>4.15.0</driver.version>
<cassandra3.version>3.11.16</cassandra3.version>
<cassandra4.version>4.0.10</cassandra4.version>
<cassandra4.version>4.0.11</cassandra4.version>
<docker.java.version>3.2.13</docker.java.version>
<junit.version>4.13.2</junit.version>
<assertj.version>3.17.2</assertj.version>
Expand Down
Loading