You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@skywalking.apache.org by wu...@apache.org on 2019/09/11 06:43:24 UTC

[skywalking] branch master updated: Gateway compatible with downstream loss (#3445)

This is an automated email from the ASF dual-hosted git repository.

wusheng pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/skywalking.git


The following commit(s) were added to refs/heads/master by this push:
     new b5b088a  Gateway compatible with downstream loss (#3445)
b5b088a is described below

commit b5b088acc053772f913cdda67c39137a28b4969a
Author: 于玉桔 <zh...@apache.org>
AuthorDate: Wed Sep 11 14:43:17 2019 +0800

    Gateway compatible with downstream loss (#3445)
---
 .../spring/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 04f2184..13162c7 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);
         }
     }