From 1c0a58d56ab9208d1b7946f53607f6d21d43dce2 Mon Sep 17 00:00:00 2001 From: w1am <33353798+w1am@users.noreply.github.com> Date: Fri, 6 Nov 2026 20:25:47 +0400 Subject: [PATCH 1/3] chore: bump testcontainers to 1.21.4 for Docker 29 support --- gradle.properties | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gradle.properties b/gradle.properties index 75a70795..b8117f39 100644 --- a/gradle.properties +++ b/gradle.properties @@ -11,5 +11,5 @@ openTelemetrySemConvVersion=1.25.0-alpha # Test Dependencies slf4jNopVersion=1.7.29 -testcontainersVersion=1.20.6 +testcontainersVersion=1.21.4 jacksonVersion=2.18.3 From 9b954a5b483fdc66ed4a18e848585b43faf60955 Mon Sep 17 00:00:00 2001 From: w1am <33353798+w1am@users.noreply.github.com> Date: Fri, 6 Nov 2026 20:32:45 +0400 Subject: [PATCH 2/3] fix: pass license key to cluster nodes in CI --- .github/workflows/tests.yml | 1 + vars.env | 1 + 2 files changed, 2 insertions(+) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 92ce26e8..aecc1551 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -118,6 +118,7 @@ jobs: - name: Set up cluster with Docker Compose run: docker compose up -d env: + KURRENTDB_LICENSE_KEY: ${{ secrets.KURRENTDB_TEST_LICENSE_KEY }} KURRENTDB_DOCKER_REGISTRY: ${{ needs.load_configuration.outputs.registry }} KURRENTDB_DOCKER_IMAGE: ${{ needs.load_configuration.outputs.image }} KURRENTDB_DOCKER_TAG: ${{ needs.load_configuration.outputs.tag }} diff --git a/vars.env b/vars.env index a3ecdad9..d0e8e5ae 100644 --- a/vars.env +++ b/vars.env @@ -6,3 +6,4 @@ EVENTSTORE_TRUSTED_ROOT_CERTIFICATES_PATH=/etc/kurrentdb/certs/ca EVENTSTORE_DISCOVER_VIA_DNS=false EVENTSTORE_ENABLE_ATOM_PUB_OVER_HTTP=true EVENTSTORE_ADVERTISE_HOST_TO_CLIENT_AS=localhost +EVENTSTORE_LICENSING__LICENSE_KEY=${KURRENTDB_LICENSE_KEY:-} From 42655a5bc92c276f974a99a7c54d925021e82995 Mon Sep 17 00:00:00 2001 From: w1am <33353798+w1am@users.noreply.github.com> Date: Fri, 6 Nov 2026 20:38:17 +0400 Subject: [PATCH 3/3] fix: allow unknown options on older cluster nodes and register OTel global once in telemetry tests --- .../io/kurrent/dbclient/TelemetryTests.java | 18 ++++++++++-------- vars.env | 1 + 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/src/test/java/io/kurrent/dbclient/TelemetryTests.java b/src/test/java/io/kurrent/dbclient/TelemetryTests.java index 5bfc0151..4ca5db59 100644 --- a/src/test/java/io/kurrent/dbclient/TelemetryTests.java +++ b/src/test/java/io/kurrent/dbclient/TelemetryTests.java @@ -18,7 +18,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import java.util.ArrayList; +import java.util.concurrent.CopyOnWriteArrayList; import java.util.List; import java.util.Objects; import java.util.function.Consumer; @@ -30,20 +30,15 @@ public class TelemetryTests implements StreamsTracingInstrumentationTests, Persi static private Database database; static private Logger logger; - private final List> spanEndedHooks = new ArrayList<>(); - private final List recordedSpans = new ArrayList<>(); + private static final List> spanEndedHooks = new CopyOnWriteArrayList<>(); + private static final List recordedSpans = new CopyOnWriteArrayList<>(); @BeforeAll public static void setup() { database = DatabaseFactory.spawn(); logger = LoggerFactory.getLogger(StreamsTests.class); - } - @BeforeEach - public void beforeEach() { GlobalOpenTelemetry.resetForTest(); - spanEndedHooks.add(recordedSpans::add); - OtlpGrpcSpanExporter otlpExporter = OtlpGrpcSpanExporter.builder() .setEndpoint("http://localhost:4317") .build(); @@ -62,6 +57,13 @@ public void beforeEach() { .buildAndRegisterGlobal(); } + @BeforeEach + public void beforeEach() { + spanEndedHooks.clear(); + recordedSpans.clear(); + spanEndedHooks.add(recordedSpans::add); + } + @Override public void onOperationSpanEnded(String operation, Consumer onSpanEnded) { spanEndedHooks.add(span -> { diff --git a/vars.env b/vars.env index d0e8e5ae..8e9d2ff1 100644 --- a/vars.env +++ b/vars.env @@ -7,3 +7,4 @@ EVENTSTORE_DISCOVER_VIA_DNS=false EVENTSTORE_ENABLE_ATOM_PUB_OVER_HTTP=true EVENTSTORE_ADVERTISE_HOST_TO_CLIENT_AS=localhost EVENTSTORE_LICENSING__LICENSE_KEY=${KURRENTDB_LICENSE_KEY:-} +EVENTSTORE_ALLOW_UNKNOWN_OPTIONS=true