skywalking-java/apm-sniffer/optional-plugins
yujiaxinlong aa4ee27d4a
fix gateway plugin async finish repeatedly when fallback configured (#5886)
When there is a fallback in webflux (like a hystrix fallback or a webflux fallback method that involves visiting a new URL). This interceptor would be invoked twice, one for origin request and another for fallback request. The ServerWebExchange for these two aren't exactly the same one, but the former one is a delegate inside of the latter one, thus, they share the same attributes.

The problem of the old code is that get the span from attributes within the execution of Mono would get span for the latter request twice. so just move this part of code out could solve the problem.

It seems impossible to make the mono chain work like expected. So add a check about whether the best matching pattern really matches the URL. This check code is how webflux generating the best match pattern,
2021-07-17 20:50:57 +08:00
..
customize-enhance-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
ehcache-2.x-plugin Move ehcache-2.x plugin as optional (#7236) 2021-07-03 16:56:05 +08:00
gson-2.8.x-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
guava-cache-plugin Provide plugin for Guava Cache (#7235) 2021-07-08 11:58:09 +08:00
kotlin-coroutine-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
mybatis-3.x-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
optional-spring-plugins fix gateway plugin async finish repeatedly when fallback configured (#5886) 2021-07-17 20:50:57 +08:00
quartz-scheduler-2.x-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
sentinel-1.x-plugin Add agent plugin to support Sentinel (#7190) 2021-07-03 00:20:14 +08:00
trace-ignore-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
zookeeper-3.4.x-plugin Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
pom.xml Provide plugin for Guava Cache (#7235) 2021-07-08 11:58:09 +08:00