From b3051a136aa2e5dd8f59b267ee4afee33b84fc58 Mon Sep 17 00:00:00 2001 From: Marcin Grzejszczak Date: Wed, 9 Dec 2020 14:57:00 +0100 Subject: [PATCH] Passing a copy of headers - otherwise ConcurrentModificationException may happen fixes gh-1184 --- .../sleuth/instrument/messaging/TracingChannelInterceptor.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java index 51398b627..28b06b396 100644 --- a/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java +++ b/spring-cloud-sleuth-core/src/main/java/org/springframework/cloud/sleuth/instrument/messaging/TracingChannelInterceptor.java @@ -259,7 +259,7 @@ public final class TracingChannelInterceptor extends ChannelInterceptorAdapter : new MessageHeaders(headers.getMessageHeaders()), errorMessage.getOriginalMessage()); } - headers.copyHeaders(additionalHeaders.getMessageHeaders()); + headers.copyHeaders(new MessageHeaders(additionalHeaders.getMessageHeaders())); return new GenericMessage<>(retrievedMessage.getPayload(), isWebSockets(headers) ? headers.getMessageHeaders() : new MessageHeaders(headers.getMessageHeaders()));