From 95492b739257e6be0da09c3d6fb53d32901f0e10 Mon Sep 17 00:00:00 2001 From: Richard Startin Date: Thu, 2 Jul 2020 10:14:39 +0100 Subject: [PATCH] Handle null header values (DataDog/dd-trace-java#1650) --- .../instrumentation/kafkaclients/TextMapExtractAdapter.java | 6 +++++- .../instrumentation/kafkastreams/TextMapExtractAdapter.java | 6 +++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/instrumentation/kafka-clients-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkaclients/TextMapExtractAdapter.java b/instrumentation/kafka-clients-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkaclients/TextMapExtractAdapter.java index fdaaaf0dbe..278b82e622 100644 --- a/instrumentation/kafka-clients-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkaclients/TextMapExtractAdapter.java +++ b/instrumentation/kafka-clients-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkaclients/TextMapExtractAdapter.java @@ -31,6 +31,10 @@ public class TextMapExtractAdapter implements HttpTextFormat.Getter { if (header == null) { return null; } - return new String(header.value(), StandardCharsets.UTF_8); + byte[] value = header.value(); + if (value == null) { + return null; + } + return new String(value, StandardCharsets.UTF_8); } } diff --git a/instrumentation/kafka-streams-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkastreams/TextMapExtractAdapter.java b/instrumentation/kafka-streams-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkastreams/TextMapExtractAdapter.java index 8449938c8a..e7765dc794 100644 --- a/instrumentation/kafka-streams-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkastreams/TextMapExtractAdapter.java +++ b/instrumentation/kafka-streams-0.11/src/main/java/io/opentelemetry/auto/instrumentation/kafkastreams/TextMapExtractAdapter.java @@ -31,6 +31,10 @@ public class TextMapExtractAdapter implements HttpTextFormat.Getter { if (header == null) { return null; } - return new String(header.value(), StandardCharsets.UTF_8); + byte[] value = header.value(); + if (value == null) { + return null; + } + return new String(value, StandardCharsets.UTF_8); } }