diff --git a/data-plane/THIRD-PARTY.txt b/data-plane/THIRD-PARTY.txt
index e437e4f04a..4969b5b5b4 100644
--- a/data-plane/THIRD-PARTY.txt
+++ b/data-plane/THIRD-PARTY.txt
@@ -5,22 +5,22 @@ Lists of 237 third-party dependencies.
(Apache License 2.0) brotli4j (com.aayushatharva.brotli4j:brotli4j:1.16.0 - https://github.com/hyperxpro/Brotli4j/brotli4j)
(Apache License 2.0) native-linux-x86_64 (com.aayushatharva.brotli4j:native-linux-x86_64:1.16.0 - https://github.com/hyperxpro/Brotli4j/natives/native-linux-x86_64)
(Apache License 2.0) service (com.aayushatharva.brotli4j:service:1.16.0 - https://github.com/hyperxpro/Brotli4j/service)
- (The Apache Software License, Version 2.0) Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.16.1 - https://github.com/FasterXML/jackson)
- (The Apache Software License, Version 2.0) Jackson-core (com.fasterxml.jackson.core:jackson-core:2.16.1 - https://github.com/FasterXML/jackson-core)
- (The Apache Software License, Version 2.0) jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.16.1 - https://github.com/FasterXML/jackson)
- (The Apache Software License, Version 2.0) Jackson-dataformat-CSV (com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.16.1 - https://github.com/FasterXML/jackson-dataformats-text)
- (The Apache Software License, Version 2.0) Jackson-dataformat-YAML (com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.16.1 - https://github.com/FasterXML/jackson-dataformats-text)
- (The Apache Software License, Version 2.0) Jackson datatype: jdk8 (com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.16.1 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8)
- (The Apache Software License, Version 2.0) Jackson datatype: JSR310 (com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.16.1 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310)
- (The Apache Software License, Version 2.0) jackson-module-scala (com.fasterxml.jackson.module:jackson-module-scala_2.13:2.16.1 - https://github.com/FasterXML/jackson-module-scala)
+ (The Apache Software License, Version 2.0) Jackson-annotations (com.fasterxml.jackson.core:jackson-annotations:2.17.0 - https://github.com/FasterXML/jackson)
+ (The Apache Software License, Version 2.0) Jackson-core (com.fasterxml.jackson.core:jackson-core:2.17.0 - https://github.com/FasterXML/jackson-core)
+ (The Apache Software License, Version 2.0) jackson-databind (com.fasterxml.jackson.core:jackson-databind:2.17.0 - https://github.com/FasterXML/jackson)
+ (The Apache Software License, Version 2.0) Jackson-dataformat-CSV (com.fasterxml.jackson.dataformat:jackson-dataformat-csv:2.17.0 - https://github.com/FasterXML/jackson-dataformats-text)
+ (The Apache Software License, Version 2.0) Jackson-dataformat-YAML (com.fasterxml.jackson.dataformat:jackson-dataformat-yaml:2.17.0 - https://github.com/FasterXML/jackson-dataformats-text)
+ (The Apache Software License, Version 2.0) Jackson datatype: jdk8 (com.fasterxml.jackson.datatype:jackson-datatype-jdk8:2.17.0 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jdk8)
+ (The Apache Software License, Version 2.0) Jackson datatype: JSR310 (com.fasterxml.jackson.datatype:jackson-datatype-jsr310:2.17.0 - https://github.com/FasterXML/jackson-modules-java8/jackson-datatype-jsr310)
+ (The Apache Software License, Version 2.0) jackson-module-scala (com.fasterxml.jackson.module:jackson-module-scala_2.13:2.17.0 - https://github.com/FasterXML/jackson-module-scala)
(Apache License, Version 2.0) Caffeine cache (com.github.ben-manes.caffeine:caffeine:3.1.5 - https://github.com/ben-manes/caffeine)
(BSD 2-Clause License) zstd-jni (com.github.luben:zstd-jni:1.5.6-3 - https://github.com/luben/zstd-jni)
(The Apache Software License, Version 2.0) bucket4j-core (com.github.vladimir-bukhtoyarov:bucket4j-core:7.6.0 - http://github.com/vladimir-bukhtoyarov/bucket4j/bucket4j-core)
(The Apache Software License, Version 2.0) FindBugs-jsr305 (com.google.code.findbugs:jsr305:3.0.2 - http://findbugs.sourceforge.net/)
(Apache-2.0) Gson (com.google.code.gson:gson:2.10.1 - https://github.com/google/gson/gson)
- (Apache 2.0) error-prone annotations (com.google.errorprone:error_prone_annotations:2.24.0 - https://errorprone.info/error_prone_annotations)
+ (Apache 2.0) error-prone annotations (com.google.errorprone:error_prone_annotations:2.26.1 - https://errorprone.info/error_prone_annotations)
(The Apache Software License, Version 2.0) Guava InternalFutureFailureAccess and InternalFutures (com.google.guava:failureaccess:1.0.1 - https://github.com/google/guava/failureaccess)
- (Apache License, Version 2.0) Guava: Google Core Libraries for Java (com.google.guava:guava:33.0.0-jre - https://github.com/google/guava)
+ (Apache License, Version 2.0) Guava: Google Core Libraries for Java (com.google.guava:guava:33.1.0-jre - https://github.com/google/guava)
(Apache License, Version 2.0) J2ObjC Annotations (com.google.j2objc:j2objc-annotations:2.8 - https://github.com/google/j2objc/)
(BSD-3-Clause) Protocol Buffers [Core] (com.google.protobuf:protobuf-java:3.25.2 - https://developers.google.com/protocol-buffers/protobuf-java/)
(BSD-3-Clause) Protocol Buffers [Util] (com.google.protobuf:protobuf-java-util:3.25.2 - https://developers.google.com/protocol-buffers/protobuf-java-util/)
@@ -32,11 +32,10 @@ Lists of 237 third-party dependencies.
(Apache License 2.0) Metrics Core Library (com.yammer.metrics:metrics-core:2.2.0 - http://metrics.codahale.com/metrics-core/)
(Apache License, Version 2.0) Apache Commons BeanUtils (commons-beanutils:commons-beanutils:1.9.4 - https://commons.apache.org/proper/commons-beanutils/)
(Apache License, Version 2.0) Apache Commons CLI (commons-cli:commons-cli:1.4 - http://commons.apache.org/proper/commons-cli/)
- (Apache-2.0) Apache Commons Codec (commons-codec:commons-codec:1.16.1 - https://commons.apache.org/proper/commons-codec/)
(Apache-2.0) Apache Commons Codec (commons-codec:commons-codec:1.17.0 - https://commons.apache.org/proper/commons-codec/)
(Apache License, Version 2.0) Apache Commons Collections (commons-collections:commons-collections:3.2.2 - http://commons.apache.org/collections/)
(The Apache Software License, Version 2.0) Commons Digester (commons-digester:commons-digester:2.1 - http://commons.apache.org/digester/)
- (Apache-2.0) Apache Commons IO (commons-io:commons-io:2.15.1 - https://commons.apache.org/proper/commons-io/)
+ (Apache-2.0) Apache Commons IO (commons-io:commons-io:2.16.1 - https://commons.apache.org/proper/commons-io/)
(The Apache Software License, Version 2.0) Apache Commons Logging (commons-logging:commons-logging:1.2 - http://commons.apache.org/proper/commons-logging/)
(Apache License, Version 2.0) Apache Commons Validator (commons-validator:commons-validator:1.7 - http://commons.apache.org/proper/commons-validator/)
(Unknown license) contract (dev.knative.eventing.kafka.broker:contract:1.0-SNAPSHOT - no url defined)
@@ -57,38 +56,38 @@ Lists of 237 third-party dependencies.
(Apache License, Version 2.0) Fabric8 :: Kubernetes :: Java Client (io.fabric8:kubernetes-client:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-client)
(Apache License, Version 2.0) Fabric8 :: Kubernetes :: Java Client API (io.fabric8:kubernetes-client-api:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-client-api)
(Apache License, Version 2.0) Fabric8 :: Kubernetes :: HttpClient :: JDK (io.fabric8:kubernetes-httpclient-jdk:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-httpclient-jdk)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Admission Registration, Authentication and Authorization (io.fabric8:kubernetes-model-admissionregistration:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-admissionregistration)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: API Extensions (io.fabric8:kubernetes-model-apiextensions:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-apiextensions)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Apps (io.fabric8:kubernetes-model-apps:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-apps)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Autoscaling (io.fabric8:kubernetes-model-autoscaling:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-autoscaling)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Batch (io.fabric8:kubernetes-model-batch:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-batch)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Certificates (io.fabric8:kubernetes-model-certificates:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-certificates)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Common (io.fabric8:kubernetes-model-common:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-common)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Coordination (io.fabric8:kubernetes-model-coordination:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-coordination)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Core (io.fabric8:kubernetes-model-core:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-core)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Discovery (io.fabric8:kubernetes-model-discovery:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-discovery)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Events (io.fabric8:kubernetes-model-events:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-events)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Extensions (io.fabric8:kubernetes-model-extensions:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-extensions)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: FlowControl (io.fabric8:kubernetes-model-flowcontrol:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-flowcontrol)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Sigs :: Gateway API (io.fabric8:kubernetes-model-gatewayapi:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-gatewayapi)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Metrics (io.fabric8:kubernetes-model-metrics:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-metrics)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Networking (io.fabric8:kubernetes-model-networking:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-networking)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Node (io.fabric8:kubernetes-model-node:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-node)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Policy (io.fabric8:kubernetes-model-policy:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-policy)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: RBAC (io.fabric8:kubernetes-model-rbac:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-rbac)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Resource (io.fabric8:kubernetes-model-resource:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-resource)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Scheduling (io.fabric8:kubernetes-model-scheduling:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-scheduling)
- (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Storage Class (io.fabric8:kubernetes-model-storageclass:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-storageclass)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Admission Registration, Authentication and Authorization (io.fabric8:kubernetes-model-admissionregistration:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-admissionregistration)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: API Extensions (io.fabric8:kubernetes-model-apiextensions:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-apiextensions)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Apps (io.fabric8:kubernetes-model-apps:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-apps)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Autoscaling (io.fabric8:kubernetes-model-autoscaling:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-autoscaling)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Batch (io.fabric8:kubernetes-model-batch:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-batch)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Certificates (io.fabric8:kubernetes-model-certificates:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-certificates)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Common (io.fabric8:kubernetes-model-common:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-common)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Coordination (io.fabric8:kubernetes-model-coordination:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-coordination)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Core (io.fabric8:kubernetes-model-core:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-core)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Discovery (io.fabric8:kubernetes-model-discovery:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-discovery)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Events (io.fabric8:kubernetes-model-events:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-events)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Extensions (io.fabric8:kubernetes-model-extensions:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-extensions)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: FlowControl (io.fabric8:kubernetes-model-flowcontrol:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-flowcontrol)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Sigs :: Gateway API (io.fabric8:kubernetes-model-gatewayapi:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-gatewayapi)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Metrics (io.fabric8:kubernetes-model-metrics:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-metrics)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Networking (io.fabric8:kubernetes-model-networking:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-networking)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Node (io.fabric8:kubernetes-model-node:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-node)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Policy (io.fabric8:kubernetes-model-policy:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-policy)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: RBAC (io.fabric8:kubernetes-model-rbac:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-rbac)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Resource (io.fabric8:kubernetes-model-resource:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-resource)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Scheduling (io.fabric8:kubernetes-model-scheduling:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-scheduling)
+ (Apache License, Version 2.0) Fabric8 :: Kubernetes Model :: Storage Class (io.fabric8:kubernetes-model-storageclass:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-model-generator/kubernetes-model-storageclass)
(Apache License, Version 2.0) Fabric8 :: Kubernetes :: JUnit :: Server Mock (io.fabric8:kubernetes-server-mock:6.10.0 - https://github.com/fabric8io/kubernetes-client/junit/kubernetes-server-mock)
- (Apache License, Version 2.0) Fabric8 :: Mock Web Server (io.fabric8:mockwebserver:6.10.0 - https://github.com/fabric8io/kubernetes-client/junit/mockwebserver)
- (Apache License, Version 2.0) Fabric8 :: Service Catalog :: Client (io.fabric8:servicecatalog-client:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-extensions/service-catalog/servicecatalog-client)
- (Apache License, Version 2.0) Fabric8 :: Service Catalog :: Model (io.fabric8:servicecatalog-model:6.10.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-extensions/service-catalog/servicecatalog-model)
+ (Apache License, Version 2.0) Fabric8 :: Mock Web Server (io.fabric8:mockwebserver:6.11.0 - https://github.com/fabric8io/kubernetes-client/junit/mockwebserver)
+ (Apache License, Version 2.0) Fabric8 :: Service Catalog :: Client (io.fabric8:servicecatalog-client:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-extensions/service-catalog/servicecatalog-client)
+ (Apache License, Version 2.0) Fabric8 :: Service Catalog :: Model (io.fabric8:servicecatalog-model:6.11.0 - https://github.com/fabric8io/kubernetes-client/kubernetes-extensions/service-catalog/servicecatalog-model)
(The Apache Software License, Version 2.0) zjsonpatch (io.fabric8:zjsonpatch:0.3.0 - https://github.com/fabric8io/zjsonpatch/)
(BSD-2-Clause) org-crac (io.github.crac:org-crac:0.1.3 - https://github.com/crac/org.crac)
- (The Apache Software License, Version 2.0) micrometer-commons (io.micrometer:micrometer-commons:1.12.2 - https://github.com/micrometer-metrics/micrometer)
- (The Apache Software License, Version 2.0) micrometer-core (io.micrometer:micrometer-core:1.12.2 - https://github.com/micrometer-metrics/micrometer)
- (The Apache Software License, Version 2.0) micrometer-observation (io.micrometer:micrometer-observation:1.12.2 - https://github.com/micrometer-metrics/micrometer)
- (The Apache Software License, Version 2.0) micrometer-registry-prometheus (io.micrometer:micrometer-registry-prometheus:1.12.2 - https://github.com/micrometer-metrics/micrometer)
+ (The Apache Software License, Version 2.0) micrometer-commons (io.micrometer:micrometer-commons:1.12.5 - https://github.com/micrometer-metrics/micrometer)
+ (The Apache Software License, Version 2.0) micrometer-core (io.micrometer:micrometer-core:1.12.5 - https://github.com/micrometer-metrics/micrometer)
+ (The Apache Software License, Version 2.0) micrometer-observation (io.micrometer:micrometer-observation:1.12.5 - https://github.com/micrometer-metrics/micrometer)
+ (The Apache Software License, Version 2.0) micrometer-registry-prometheus (io.micrometer:micrometer-registry-prometheus:1.12.5 - https://github.com/micrometer-metrics/micrometer)
(Apache License, Version 2.0) Netty/Buffer (io.netty:netty-buffer:4.1.108.Final - https://netty.io/netty-buffer/)
(Apache License, Version 2.0) Netty/Codec (io.netty:netty-codec:4.1.108.Final - https://netty.io/netty-codec/)
(Apache License, Version 2.0) Netty/Codec/DNS (io.netty:netty-codec-dns:4.1.108.Final - https://netty.io/netty-codec-dns/)
@@ -112,7 +111,7 @@ Lists of 237 third-party dependencies.
(The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-exporter-logging:1.32.0 - https://github.com/open-telemetry/opentelemetry-java)
(The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-exporter-zipkin:1.32.0 - https://github.com/open-telemetry/opentelemetry-java)
(The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-extension-incubator:1.32.0-alpha - https://github.com/open-telemetry/opentelemetry-java)
- (The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-extension-trace-propagators:1.17.0 - https://github.com/open-telemetry/opentelemetry-java)
+ (The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-extension-trace-propagators:1.32.0 - https://github.com/open-telemetry/opentelemetry-java)
(The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-sdk:1.32.0 - https://github.com/open-telemetry/opentelemetry-java)
(The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-sdk-common:1.32.0 - https://github.com/open-telemetry/opentelemetry-java)
(The Apache License, Version 2.0) OpenTelemetry Java (io.opentelemetry:opentelemetry-sdk-extension-autoconfigure-spi:1.32.0 - https://github.com/open-telemetry/opentelemetry-java)
@@ -125,49 +124,49 @@ Lists of 237 third-party dependencies.
(The Apache Software License, Version 2.0) Prometheus Java Span Context Supplier - Common (io.prometheus:simpleclient_tracer_common:0.16.0 - http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_common)
(The Apache Software License, Version 2.0) Prometheus Java Span Context Supplier - OpenTelemetry (io.prometheus:simpleclient_tracer_otel:0.16.0 - http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel)
(The Apache Software License, Version 2.0) Prometheus Java Span Context Supplier - OpenTelemetry Agent (io.prometheus:simpleclient_tracer_otel_agent:0.16.0 - http://github.com/prometheus/client_java/simpleclient_tracer/simpleclient_tracer_otel_agent)
- (The Apache Software License, Version 2.0) Quarkus - ArC - Runtime (io.quarkus:quarkus-arc:3.8.4 - https://github.com/quarkusio/quarkus)
- (Apache License, Version 2.0) Quarkus - Bootstrap - Runner (io.quarkus:quarkus-bootstrap-runner:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Core - Runtime (io.quarkus:quarkus-core:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Development mode - SPI (io.quarkus:quarkus-development-mode-spi:3.8.4 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - ArC - Runtime (io.quarkus:quarkus-arc:3.10.2 - https://github.com/quarkusio/quarkus)
+ (Apache License, Version 2.0) Quarkus - Bootstrap - Runner (io.quarkus:quarkus-bootstrap-runner:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Core - Runtime (io.quarkus:quarkus-core:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Development mode - SPI (io.quarkus:quarkus-development-mode-spi:3.10.2 - https://github.com/quarkusio/quarkus)
(Apache License, Version 2.0) Quarkus - FS Util (io.quarkus:quarkus-fs-util:0.0.10 - https://quarkus.io/)
- (The Apache Software License, Version 2.0) Quarkus - IDE Launcher (io.quarkus:quarkus-ide-launcher:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Mutiny - Runtime (io.quarkus:quarkus-mutiny:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Netty - Runtime (io.quarkus:quarkus-netty:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - SmallRye Context Propagation - Runtime (io.quarkus:quarkus-smallrye-context-propagation:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Vert.x - Runtime (io.quarkus:quarkus-vertx:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Vert.x Late Bound MDC Provider (io.quarkus:quarkus-vertx-latebound-mdc-provider:3.8.4 - https://github.com/quarkusio/quarkus)
- (The Apache Software License, Version 2.0) Quarkus - Virtual Threads - Runtime (io.quarkus:quarkus-virtual-threads:3.8.4 - https://github.com/quarkusio/quarkus)
- (Apache License, Version 2.0) ArC - Runtime (io.quarkus.arc:arc:3.8.4 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - IDE Launcher (io.quarkus:quarkus-ide-launcher:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Mutiny - Runtime (io.quarkus:quarkus-mutiny:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Netty - Runtime (io.quarkus:quarkus-netty:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - SmallRye Context Propagation - Runtime (io.quarkus:quarkus-smallrye-context-propagation:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Vert.x - Runtime (io.quarkus:quarkus-vertx:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Vert.x Late Bound MDC Provider (io.quarkus:quarkus-vertx-latebound-mdc-provider:3.10.2 - https://github.com/quarkusio/quarkus)
+ (The Apache Software License, Version 2.0) Quarkus - Virtual Threads - Runtime (io.quarkus:quarkus-virtual-threads:3.10.2 - https://github.com/quarkusio/quarkus)
+ (Apache License, Version 2.0) ArC - Runtime (io.quarkus.arc:arc:3.10.2 - https://github.com/quarkusio/quarkus)
(The Apache Software License, Version 2.0) SmallRye Context Propagation: Core (io.smallrye:smallrye-context-propagation:2.1.0 - https://github.com/smallrye/smallrye-context-propagation)
(The Apache Software License, Version 2.0) SmallRye Context Propagation: API (io.smallrye:smallrye-context-propagation-api:2.1.0 - https://github.com/smallrye/smallrye-context-propagation)
(The Apache Software License, Version 2.0) SmallRye Context Propagation: Storage (io.smallrye:smallrye-context-propagation-storage:2.1.0 - https://github.com/smallrye/smallrye-context-propagation)
- (Apache License, Version 2.0) SmallRye Fault Tolerance: Vert.x Integration (io.smallrye:smallrye-fault-tolerance-vertx:6.2.6 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: Annotations (io.smallrye.common:smallrye-common-annotation:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: Classloader (io.smallrye.common:smallrye-common-classloader:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: Constraints (io.smallrye.common:smallrye-common-constraint:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: Expressions (io.smallrye.common:smallrye-common-expression:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: Functions (io.smallrye.common:smallrye-common-function:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: IO (io.smallrye.common:smallrye-common-io:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: OS (io.smallrye.common:smallrye-common-os:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Common: Vert.x Context Utilities (io.smallrye.common:smallrye-common-vertx-context:2.2.0 - http://smallrye.io)
- (Apache License, Version 2.0) SmallRye Config: CDI (io.smallrye.config:smallrye-config:3.5.4 - https://smallrye.io)
- (Apache License, Version 2.0) SmallRye Config: Common (io.smallrye.config:smallrye-config-common:3.5.4 - https://smallrye.io)
- (Apache License, Version 2.0) SmallRye Config: Core (io.smallrye.config:smallrye-config-core:3.5.4 - https://smallrye.io)
- (Apache License, Version 2.0) SmallRye Mutiny - Core library (io.smallrye.reactive:mutiny:2.5.8 - https://smallrye.io/smallrye-mutiny)
- (Apache License, Version 2.0) SmallRye Mutiny - Integration with SmallRye Context Propagation (io.smallrye.reactive:mutiny-smallrye-context-propagation:2.5.8 - https://smallrye.io/smallrye-mutiny)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Auth Common (io.smallrye.reactive:smallrye-mutiny-vertx-auth-common:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Core (io.smallrye.reactive:smallrye-mutiny-vertx-core:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Runtime Helpers (io.smallrye.reactive:smallrye-mutiny-vertx-runtime:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x URI Template (io.smallrye.reactive:smallrye-mutiny-vertx-uri-template:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Web Client (io.smallrye.reactive:smallrye-mutiny-vertx-web-client:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Web Common (io.smallrye.reactive:smallrye-mutiny-vertx-web-common:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
- (The Apache Software License, Version 2.0) SmallRye Mutiny - Code Generator (io.smallrye.reactive:vertx-mutiny-generator:3.11.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (Apache License, Version 2.0) SmallRye Fault Tolerance: Vert.x Integration (io.smallrye:smallrye-fault-tolerance-vertx:6.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: Annotations (io.smallrye.common:smallrye-common-annotation:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: Classloader (io.smallrye.common:smallrye-common-classloader:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: Constraints (io.smallrye.common:smallrye-common-constraint:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: Expressions (io.smallrye.common:smallrye-common-expression:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: Functions (io.smallrye.common:smallrye-common-function:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: IO (io.smallrye.common:smallrye-common-io:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: OS (io.smallrye.common:smallrye-common-os:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Common: Vert.x Context Utilities (io.smallrye.common:smallrye-common-vertx-context:2.3.0 - http://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Config: CDI (io.smallrye.config:smallrye-config:3.7.1 - https://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Config: Common (io.smallrye.config:smallrye-config-common:3.7.1 - https://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Config: Core (io.smallrye.config:smallrye-config-core:3.7.1 - https://smallrye.io)
+ (Apache License, Version 2.0) SmallRye Mutiny - Core library (io.smallrye.reactive:mutiny:2.6.0 - https://smallrye.io/smallrye-mutiny)
+ (Apache License, Version 2.0) SmallRye Mutiny - Integration with SmallRye Context Propagation (io.smallrye.reactive:mutiny-smallrye-context-propagation:2.6.0 - https://smallrye.io/smallrye-mutiny)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Auth Common (io.smallrye.reactive:smallrye-mutiny-vertx-auth-common:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Core (io.smallrye.reactive:smallrye-mutiny-vertx-core:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Runtime Helpers (io.smallrye.reactive:smallrye-mutiny-vertx-runtime:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x URI Template (io.smallrye.reactive:smallrye-mutiny-vertx-uri-template:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Web Client (io.smallrye.reactive:smallrye-mutiny-vertx-web-client:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Vert.x Web Common (io.smallrye.reactive:smallrye-mutiny-vertx-web-common:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
+ (The Apache Software License, Version 2.0) SmallRye Mutiny - Code Generator (io.smallrye.reactive:vertx-mutiny-generator:3.12.0 - https://smallrye.io/smallrye-mutiny-vertx-bindings)
(Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) vertx-auth-common (io.vertx:vertx-auth-common:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-auth-parent/vertx-auth-common)
(Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) vertx-codegen (io.vertx:vertx-codegen:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-codegen)
(Eclipse Public License - v 2.0) (The Apache Software License, Version 2.0) Vert.x Core (io.vertx:vertx-core:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-core)
- (Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) Vert.x JUnit 5 support :: Core (io.vertx:vertx-junit5:4.4.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-junit5)
+ (Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) Vert.x JUnit 5 support :: Core (io.vertx:vertx-junit5:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-junit5)
(Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) Vert.x metrics implementation for Micrometer.io (io.vertx:vertx-micrometer-metrics:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-micrometer-metrics)
- (Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) Vert.x OpenTelemetry (io.vertx:vertx-opentelemetry:4.4.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-tracing-parent/vertx-opentelemetry)
+ (Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) Vert.x OpenTelemetry (io.vertx:vertx-opentelemetry:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-tracing-parent/vertx-opentelemetry)
(Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) Vert.x URI Template (io.vertx:vertx-uri-template:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-uri-template)
(Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) vertx-web-client (io.vertx:vertx-web-client:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-web-parent/vertx-web-client)
(Eclipse Public License - v 1.0) (The Apache Software License, Version 2.0) vertx-web-common (io.vertx:vertx-web-common:4.5.7 - http://nexus.sonatype.org/oss-repository-hosting.html/vertx-parent/vertx-ext/vertx-ext-parent/vertx-web-parent/vertx-web-common)
@@ -183,7 +182,7 @@ Lists of 237 third-party dependencies.
(EPL 2.0) (GPL2 w/ CPE) jakarta.transaction API (jakarta.transaction:jakarta.transaction-api:2.0.1 - https://projects.eclipse.org/projects/ee4j.jta)
(Eclipse Public License 1.0) JUnit (junit:junit:4.12 - http://junit.org)
(Apache License, Version 2.0) Byte Buddy (without dependencies) (net.bytebuddy:byte-buddy:1.14.11 - https://bytebuddy.net/byte-buddy)
- (Apache License, Version 2.0) Byte Buddy agent (net.bytebuddy:byte-buddy-agent:1.14.10 - https://bytebuddy.net/byte-buddy-agent)
+ (Apache License, Version 2.0) Byte Buddy agent (net.bytebuddy:byte-buddy-agent:1.14.12 - https://bytebuddy.net/byte-buddy-agent)
(Apache License, Version 2.0) (MIT License) Logstash Logback Encoder (net.logstash.logback:logstash-logback-encoder:7.2 - https://github.com/logfellow/logstash-logback-encoder)
(The MIT License) JOpt Simple (net.sf.jopt-simple:jopt-simple:5.0.4 - http://jopt-simple.github.io/jopt-simple)
(MIT) argparse4j (net.sourceforge.argparse4j:argparse4j:0.7.0 - http://argparse4j.github.io)
@@ -213,16 +212,17 @@ Lists of 237 third-party dependencies.
(New BSD License) Hamcrest Core (org.hamcrest:hamcrest-core:1.3 - https://github.com/hamcrest/JavaHamcrest/hamcrest-core)
(BSD-2-Clause) (Public Domain, per Creative Commons CC0) HdrHistogram (org.hdrhistogram:HdrHistogram:2.1.12 - http://hdrhistogram.github.io/HdrHistogram/)
(Apache License, version 2.0) JBoss Logging I18n Annotations (org.jboss.logging:jboss-logging-annotations:2.2.1.Final - http://www.jboss.org/jboss-logging-tools-parent/jboss-logging-annotations)
- (Apache License 2.0) JBoss Threads (org.jboss.threads:jboss-threads:3.5.1.Final - http://www.jboss.org/jboss-threads)
+ (Apache License 2.0) JBoss Threads (org.jboss.threads:jboss-threads:3.6.1.Final - http://www.jboss.org)
+ (Apache License, Version 2.0) Java Concurrency Tools Core Library (org.jctools:jctools-core:4.0.3 - https://github.com/JCTools)
(Eclipse Public License v2.0) JUnit Jupiter (Aggregator) (org.junit.jupiter:junit-jupiter:5.10.1 - https://junit.org/junit5/)
- (Eclipse Public License v2.0) JUnit Jupiter API (org.junit.jupiter:junit-jupiter-api:5.10.1 - https://junit.org/junit5/)
- (Eclipse Public License v2.0) JUnit Jupiter Engine (org.junit.jupiter:junit-jupiter-engine:5.10.1 - https://junit.org/junit5/)
- (Eclipse Public License v2.0) JUnit Jupiter Params (org.junit.jupiter:junit-jupiter-params:5.10.1 - https://junit.org/junit5/)
- (Eclipse Public License v2.0) JUnit Platform Commons (org.junit.platform:junit-platform-commons:1.10.1 - https://junit.org/junit5/)
- (Eclipse Public License v2.0) JUnit Platform Engine API (org.junit.platform:junit-platform-engine:1.10.1 - https://junit.org/junit5/)
+ (Eclipse Public License v2.0) JUnit Jupiter API (org.junit.jupiter:junit-jupiter-api:5.10.2 - https://junit.org/junit5/)
+ (Eclipse Public License v2.0) JUnit Jupiter Engine (org.junit.jupiter:junit-jupiter-engine:5.10.2 - https://junit.org/junit5/)
+ (Eclipse Public License v2.0) JUnit Jupiter Params (org.junit.jupiter:junit-jupiter-params:5.10.2 - https://junit.org/junit5/)
+ (Eclipse Public License v2.0) JUnit Platform Commons (org.junit.platform:junit-platform-commons:1.10.2 - https://junit.org/junit5/)
+ (Eclipse Public License v2.0) JUnit Platform Engine API (org.junit.platform:junit-platform-engine:1.10.2 - https://junit.org/junit5/)
(Public Domain, per Creative Commons CC0) LatencyUtils (org.latencyutils:LatencyUtils:2.0.3 - http://latencyutils.github.io/LatencyUtils/)
(The Apache Software License, Version 2.0) LZ4 and xxHash (org.lz4:lz4-java:1.8.0 - https://github.com/lz4/lz4-java)
- (MIT) mockito-core (org.mockito:mockito-core:5.8.0 - https://github.com/mockito/mockito)
+ (MIT) mockito-core (org.mockito:mockito-core:5.11.0 - https://github.com/mockito/mockito)
(MIT) mockito-junit-jupiter (org.mockito:mockito-junit-jupiter:5.12.0 - https://github.com/mockito/mockito)
(Apache License, Version 2.0) Objenesis (org.objenesis:objenesis:3.3 - http://objenesis.org/objenesis)
(GNU General Public License (GPL), version 2, with the Classpath exception) JMH Core (org.openjdk.jmh:jmh-core:1.37 - http://openjdk.java.net/projects/code-tools/jmh/jmh-core/)
diff --git a/data-plane/pom.xml b/data-plane/pom.xml
index 55f301f5f6..cd3a150bbe 100644
--- a/data-plane/pom.xml
+++ b/data-plane/pom.xml
@@ -42,10 +42,10 @@
2.38.0
- 4.4.7
+ 4.5.7
4.0.0
- 1.11.5
- 1.17.0
+ 1.12.5
+ 1.32.0
2.14.1
3.25.2
7.6.0
@@ -60,7 +60,7 @@
3.7.1
2.6.1.Final
3.4.4
- 3.8.4
+ 3.10.2
4.9.2
2.38.0
diff --git a/data-plane/receiver-loom/src/main/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducer.java b/data-plane/receiver-loom/src/main/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducer.java
index a1ba796715..54aa4f308b 100644
--- a/data-plane/receiver-loom/src/main/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducer.java
+++ b/data-plane/receiver-loom/src/main/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducer.java
@@ -15,18 +15,20 @@
*/
package dev.knative.eventing.kafka.broker.receiverloom;
+import com.google.common.util.concurrent.Uninterruptibles;
import dev.knative.eventing.kafka.broker.core.ReactiveKafkaProducer;
import dev.knative.eventing.kafka.broker.core.tracing.kafka.ProducerTracer;
+import io.opentelemetry.context.Context;
import io.vertx.core.Future;
import io.vertx.core.Promise;
import io.vertx.core.Vertx;
import io.vertx.core.impl.ContextInternal;
import io.vertx.core.impl.VertxInternal;
+import io.vertx.core.impl.future.PromiseInternal;
import io.vertx.core.tracing.TracingPolicy;
import java.util.Objects;
-import java.util.concurrent.BlockingQueue;
-import java.util.concurrent.LinkedBlockingQueue;
-import java.util.concurrent.TimeUnit;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
import java.util.concurrent.atomic.AtomicBoolean;
import org.apache.kafka.clients.producer.Producer;
import org.apache.kafka.clients.producer.ProducerRecord;
@@ -41,17 +43,15 @@ public class LoomKafkaProducer implements ReactiveKafkaProducer {
private final Producer producer;
- private final BlockingQueue> eventQueue;
+ private final ExecutorService executorService;
private final AtomicBoolean isClosed;
private final ProducerTracer> tracer;
private final VertxInternal vertx;
- private final Thread sendFromQueueThread;
private final Promise closePromise = Promise.promise();
public LoomKafkaProducer(Vertx v, Producer producer) {
Objects.requireNonNull(v, "Vertx cannot be null");
this.producer = producer;
- this.eventQueue = new LinkedBlockingQueue<>();
this.isClosed = new AtomicBoolean(false);
this.vertx = (VertxInternal) v;
final var ctxInt = ((ContextInternal) v.getOrCreateContext()).unwrap();
@@ -62,73 +62,54 @@ public LoomKafkaProducer(Vertx v, Producer producer) {
this.tracer = null;
}
+ ExecutorService executorService;
if (Boolean.parseBoolean(System.getenv("ENABLE_VIRTUAL_THREADS"))) {
- this.sendFromQueueThread = Thread.ofVirtual().start(this::sendFromQueue);
+ executorService = Executors.newVirtualThreadPerTaskExecutor();
} else {
- this.sendFromQueueThread = new Thread(this::sendFromQueue);
- this.sendFromQueueThread.start();
+ executorService = Executors.newSingleThreadExecutor();
}
+ this.executorService = Context.taskWrapping(executorService);
}
@Override
public Future send(ProducerRecord record) {
- final Promise promise = Promise.promise();
if (isClosed.get()) {
- promise.fail("Producer is closed");
- } else {
- eventQueue.add(new RecordPromise<>(record, this.vertx.getOrCreateContext(), promise));
+ return Future.failedFuture("Producer is closed");
}
+ PromiseInternal promise = vertx.promise();
+ executorService.execute(() -> sendFromQueue(new RecordPromise<>(record, promise)));
return promise.future();
}
- private void sendFromQueue() {
- // Process queue elements until this is closed and the tasks queue is empty
- while (!isClosed.get() || !eventQueue.isEmpty()) {
- try {
- final var recordPromise = eventQueue.poll(2000, TimeUnit.MILLISECONDS);
- if (recordPromise == null) {
- continue;
+ private void sendFromQueue(RecordPromise recordPromise) {
+ final var startedSpan = this.tracer == null
+ ? null
+ : this.tracer.prepareSendMessage(recordPromise.context(), recordPromise.record);
+
+ recordPromise
+ .promise
+ .future()
+ .onComplete(v -> {
+ if (startedSpan != null) {
+ startedSpan.finish(recordPromise.context());
+ }
+ })
+ .onFailure(cause -> {
+ if (startedSpan != null) {
+ startedSpan.fail(recordPromise.context(), cause);
+ }
+ });
+ try {
+ producer.send(recordPromise.record, (metadata, exception) -> {
+ if (exception != null) {
+ recordPromise.fail(exception);
+ return;
}
-
- final var startedSpan = this.tracer == null
- ? null
- : this.tracer.prepareSendMessage(recordPromise.getContext(), recordPromise.getRecord());
-
- recordPromise
- .getPromise()
- .future()
- .onComplete(v -> {
- if (startedSpan != null) {
- startedSpan.finish(recordPromise.getContext());
- }
- })
- .onFailure(cause -> {
- if (startedSpan != null) {
- startedSpan.fail(recordPromise.getContext(), cause);
- }
- });
- try {
- producer.send(
- recordPromise.getRecord(),
- (metadata, exception) -> recordPromise.getContext().runOnContext(v -> {
- if (exception != null) {
- recordPromise.getPromise().fail(exception);
- return;
- }
- recordPromise.getPromise().complete(metadata);
- }));
- } catch (final KafkaException exception) {
- recordPromise
- .getContext()
- .runOnContext(v -> recordPromise.getPromise().fail(exception));
- }
- } catch (InterruptedException e) {
- logger.debug("Interrupted while waiting for event queue to be populated.");
- break;
- }
+ recordPromise.complete(metadata);
+ });
+ } catch (final KafkaException exception) {
+ recordPromise.fail(exception);
}
-
- logger.debug("Background thread completed.");
}
@Override
@@ -141,12 +122,9 @@ public Future close() {
Thread.ofVirtual().start(() -> {
try {
- while (!eventQueue.isEmpty()) {
- logger.debug("Waiting for the eventQueue to become empty");
- Thread.sleep(2000L);
- }
- logger.debug("Waiting for sendFromQueueThread thread to complete");
- sendFromQueueThread.join();
+ executorService.shutdown();
+ logger.debug("Waiting for tasks to complete");
+ Uninterruptibles.awaitTerminationUninterruptibly(executorService);
logger.debug("Closing the producer");
producer.close();
closePromise.complete();
@@ -178,35 +156,29 @@ public Producer unwrap() {
}
private static class RecordPromise {
- private final ProducerRecord record;
- private final ContextInternal context;
- private final Promise promise;
+ final ProducerRecord record;
+ final PromiseInternal promise;
- private RecordPromise(ProducerRecord record, ContextInternal context, Promise promise) {
+ RecordPromise(ProducerRecord record, PromiseInternal promise) {
this.record = record;
- this.context = context;
this.promise = promise;
}
- public ProducerRecord getRecord() {
- return record;
+ ContextInternal context() {
+ return promise.context();
}
- public Promise getPromise() {
- return promise;
+ void complete(RecordMetadata result) {
+ promise.complete(result);
}
- public ContextInternal getContext() {
- return context;
+ void fail(Throwable cause) {
+ promise.fail(cause);
}
}
// Function needed for testing
public boolean isSendFromQueueThreadAlive() {
- return sendFromQueueThread.isAlive();
- }
-
- public int getEventQueueSize() {
- return eventQueue.size();
+ return !executorService.isTerminated();
}
}
diff --git a/data-plane/receiver-loom/src/test/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducerTest.java b/data-plane/receiver-loom/src/test/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducerTest.java
index f81711c9fc..3f41e099fb 100644
--- a/data-plane/receiver-loom/src/test/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducerTest.java
+++ b/data-plane/receiver-loom/src/test/java/dev/knative/eventing/kafka/broker/receiverloom/LoomKafkaProducerTest.java
@@ -15,9 +15,7 @@
*/
package dev.knative.eventing.kafka.broker.receiverloom;
-import static org.junit.jupiter.api.Assertions.assertEquals;
-import static org.junit.jupiter.api.Assertions.assertFalse;
-import static org.junit.jupiter.api.Assertions.assertTrue;
+import static org.junit.jupiter.api.Assertions.*;
import static org.mockito.ArgumentMatchers.any;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -128,7 +126,6 @@ public void testCloseIsWaitingForEmptyQueue(VertxTestContext testContext) {
.onComplete(ar -> {
testContext.verify(() -> {
assertTrue(ar.succeeded());
- assertEquals(0, producer.getEventQueueSize());
assertFalse(producer.isSendFromQueueThreadAlive());
checkpoints.flag();