From 00d11a09b3ca0cff725a14c809617f7206e0bed7 Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Wed, 29 Apr 2026 09:09:38 +0200 Subject: [PATCH 1/2] fix(test): Remove stale Kafka container before startup Always remove the named Kafka system-test container before starting a new broker. This avoids docker name conflicts after crashed or interrupted runs while still keeping stop_kafka_broker ownership-aware for reused brokers. Co-Authored-By: Claude --- test/system-test-runner.py | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/test/system-test-runner.py b/test/system-test-runner.py index d85d894c00..f2a7118efe 100644 --- a/test/system-test-runner.py +++ b/test/system-test-runner.py @@ -227,13 +227,21 @@ def wait_for_port(self, host: str, port: int, max_attempts: int = 20) -> bool: time.sleep(1) return False + def remove_kafka_broker_container(self) -> None: + subprocess.run( + ["docker", "rm", "-f", KAFKA_CONTAINER_NAME], + check=False, + stdout=subprocess.DEVNULL, + stderr=subprocess.DEVNULL, + ) + def start_kafka_broker(self) -> None: if self.wait_for_port("localhost", 9092, max_attempts=1): print("Kafka broker already running on localhost:9092, reusing it.") self.kafka_started_by_runner = False return - self.stop_kafka_broker() + self.remove_kafka_broker_container() print("Starting Kafka broker (Redpanda) for system tests...") run_result = subprocess.run( @@ -280,12 +288,7 @@ def stop_kafka_broker(self) -> None: if not self.kafka_started_by_runner: return - subprocess.run( - ["docker", "rm", "-f", KAFKA_CONTAINER_NAME], - check=False, - stdout=subprocess.DEVNULL, - stderr=subprocess.DEVNULL, - ) + self.remove_kafka_broker_container() self.kafka_started_by_runner = False def start_sentry_mock_server(self) -> None: From 60d8460b9d815ac8e293c6230158a2cfeec33c5b Mon Sep 17 00:00:00 2001 From: Alexander Dinauer Date: Wed, 29 Apr 2026 11:22:37 +0200 Subject: [PATCH 2/2] fix(test): Set SENTRY_ENABLE_QUEUE_TRACING for Kafka system tests When SENTRY_AUTO_INIT=true with the OTel agent, Sentry is initialized early by SentryAutoConfigurationCustomizerProvider before Spring Boot loads application-kafka.properties. Without the env var, queue tracing stays disabled and OTel messaging spans are not mapped to queue.publish/queue.process ops, causing KafkaOtelCoexistenceSystemTest to fail. Co-Authored-By: Claude --- test/system-test-runner.py | 1 + 1 file changed, 1 insertion(+) diff --git a/test/system-test-runner.py b/test/system-test-runner.py index f2a7118efe..f20a9bd8d6 100644 --- a/test/system-test-runner.py +++ b/test/system-test-runner.py @@ -442,6 +442,7 @@ def start_spring_server(self, sample_module: str, java_agent: str, java_agent_au if self.module_requires_kafka_profile(sample_module): env["SPRING_PROFILES_ACTIVE"] = "kafka" + env["SENTRY_ENABLE_QUEUE_TRACING"] = "true" print("Enabling Spring profile: kafka") else: env.pop("SPRING_PROFILES_ACTIVE", None)