From 052f6cdc107d791374ba23c5e42a20149cec30c6 Mon Sep 17 00:00:00 2001 From: Haotian Zhang Date: Mon, 9 Dec 2024 20:47:03 +0800 Subject: [PATCH] fix:fix caller disposable metadata handle when using tracing. (#1477) --- CHANGELOG.md | 1 + .../tencent/cloud/common/metadata/MetadataContextHolder.java | 2 ++ 2 files changed, 3 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 28c838321..0407bc58b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -37,3 +37,4 @@ - [fix:fix auth not effected bug.](https://github.com/Tencent/spring-cloud-tencent/pull/1465) - [feat:upgrade trace plugin.](https://github.com/Tencent/spring-cloud-tencent/pull/1469) - [feat:support smooth upgrade from tsf.](https://github.com/Tencent/spring-cloud-tencent/pull/1473) +- [fix:fix caller disposable metadata handle when using tracing.](https://github.com/Tencent/spring-cloud-tencent/pull/1477) diff --git a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java index d3a27fcea..f09a12685 100644 --- a/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java +++ b/spring-cloud-tencent-commons/src/main/java/com/tencent/cloud/common/metadata/MetadataContextHolder.java @@ -166,9 +166,11 @@ public final class MetadataContextHolder { } // caller disposable metadata to caller custom disposable metadata MetadataContainer metadataContainerDownstream = metadataManager.getMetadataContainer(MetadataType.CUSTOM, false); + MetadataContainer callerCustomMetadataContainer = metadataManager.getMetadataContainer(MetadataType.CUSTOM, true); if (!CollectionUtils.isEmpty(dynamicDisposableMetadata)) { for (Map.Entry entry : dynamicDisposableMetadata.entrySet()) { metadataContainerDownstream.putMetadataStringValue(entry.getKey(), entry.getValue(), TransitiveType.NONE); + callerCustomMetadataContainer.putMetadataStringValue(entry.getKey(), entry.getValue(), TransitiveType.DISPOSABLE); } } // caller application metadata to caller application disposable metadata