Skip to content

Commit 6a952f5

Browse files
authored
Merge pull request #1223 from kenfinnigan/tracing-fixes
Fixes #1222
2 parents 29eb45d + 7a2dd1c commit 6a952f5

File tree

1 file changed

+10
-2
lines changed
  • smallrye-reactive-messaging-kafka/src/main/java/io/smallrye/reactive/messaging/kafka/impl

1 file changed

+10
-2
lines changed

smallrye-reactive-messaging-kafka/src/main/java/io/smallrye/reactive/messaging/kafka/impl/KafkaSink.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,8 @@
4141
import io.smallrye.reactive.messaging.kafka.tracing.HeaderInjectAdapter;
4242
import io.vertx.core.AsyncResult;
4343
import io.vertx.core.json.JsonObject;
44+
import io.vertx.core.tracing.TracingPolicy;
45+
import io.vertx.kafka.client.common.KafkaClientOptions;
4446
import io.vertx.kafka.client.producer.KafkaWriteStream;
4547
import io.vertx.mutiny.core.Vertx;
4648

@@ -69,7 +71,14 @@ public KafkaSink(Vertx vertx, KafkaConnectorOutgoingConfiguration config, KafkaC
6971
JsonObject kafkaConfiguration = extractProducerConfiguration(config);
7072

7173
Map<String, Object> kafkaConfigurationMap = kafkaConfiguration.getMap();
72-
stream = KafkaWriteStream.create(vertx.getDelegate(), kafkaConfigurationMap);
74+
isTracingEnabled = config.getTracingEnabled();
75+
final KafkaClientOptions clientOptions = KafkaClientOptions.fromMap(kafkaConfigurationMap, true);
76+
clientOptions.setConfig(kafkaConfigurationMap);
77+
if (isTracingEnabled) {
78+
// Disable Vert.x Kafka Client traces, will be handled directly
79+
clientOptions.setTracingPolicy(TracingPolicy.IGNORE);
80+
}
81+
stream = KafkaWriteStream.create(vertx.getDelegate(), clientOptions);
7382
stream.exceptionHandler(e -> {
7483
if (config.getTopic().isPresent()) {
7584
log.unableToWrite(config.getChannel(), config.getTopic().get(), e);
@@ -88,7 +97,6 @@ public KafkaSink(Vertx vertx, KafkaConnectorOutgoingConfiguration config, KafkaC
8897
deliveryTimeoutMs = kafkaConfiguration.getInteger(ProducerConfig.DELIVERY_TIMEOUT_MS_CONFIG, defaultDeliveryTimeoutMs);
8998
topic = config.getTopic().orElseGet(config::getChannel);
9099
key = config.getKey().orElse(null);
91-
isTracingEnabled = config.getTracingEnabled();
92100
writeCloudEvents = config.getCloudEvents();
93101
writeAsBinaryCloudEvent = config.getCloudEventsMode().equalsIgnoreCase("binary");
94102
boolean waitForWriteCompletion = config.getWaitForWriteCompletion();

0 commit comments

Comments
 (0)