From b5b088acc053772f913cdda67c39137a28b4969a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BA=8E=E7=8E=89=E6=A1=94?= Date: Wed, 11 Sep 2019 14:43:17 +0800 Subject: [PATCH] Gateway compatible with downstream loss (#3445) --- .../webflux/v5/AbstractServerResponseMethodInterceptor.java | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/AbstractServerResponseMethodInterceptor.java b/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/AbstractServerResponseMethodInterceptor.java index 04f21843c..13162c70f 100644 --- a/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/AbstractServerResponseMethodInterceptor.java +++ b/apm-sniffer/apm-sdk-plugin/spring-plugins/webflux-5.x-plugin/src/main/java/org/apache/skywalking/apm/plugin/spring/webflux/v5/AbstractServerResponseMethodInterceptor.java @@ -58,7 +58,11 @@ public class AbstractServerResponseMethodInterceptor implements InstanceMethodsA } Tags.STATUS_CODE.set(span, Integer.toString(status.value())); } - ContextManager.stopSpan(span); + if (ContextManager.isActive()) { + ContextManager.stopSpan(span); + } else { + span.asyncFinish(); + } ((EnhancedInstance) allArguments[0]).setSkyWalkingDynamicField(null); } }