hhhyang opened a new issue #6627:
URL: https://github.com/apache/skywalking/issues/6627


   Please answer these questions before submitting your issue.
   
   - Why do you submit this issue?
   - [ ] Question or discussion
   - [ ] Bug
   - [ ] Requirement
   - [ ] Feature or performance improvement
   
   ___
   ### Question
   - What do you want to know?
   
   currently, skywalking seems not to support spring-cloud-gateway 3.0. If 
using apm-spring-cloud-gateway-2.1.x-plugin-8.4.0.jar plugin with 
spring-cloud-gateway 3.0, it throws java.lang.NullPointerException while 
receive a request.
   
   the exception stack is as follow:
   ```
   2021-03-26 15:18:31.701 [reactor-http-epoll-4] ERROR 
o.s.b.a.w.r.e.AbstractErrorWebExceptionHandler - [4a935a05-7]  500 Server Error 
for HTTP GET "/topo-service/actuator/health"
   java.lang.NullPointerException: null
        at 
org.apache.skywalking.apm.plugin.spring.cloud.gateway.v21x.HttpClientFinalizerResponseConnectionInterceptor$1.apply(HttpClientFinalizerResponseConnectionInterceptor.java:42)
        Suppressed: reactor.core.publisher.FluxOnAssembly$OnAssemblyException:
   Error has been observed at the following site(s):
        |_ checkpoint ⇢ 
org.springframework.cloud.gateway.filter.WeightCalculatorWebFilter 
[DefaultWebFilterChain]
        |_ checkpoint ⇢ 
com.alibaba.csp.sentinel.adapter.spring.webflux.SentinelWebFluxFilter 
[DefaultWebFilterChain]
        |_ checkpoint ⇢ 
org.springframework.boot.actuate.metrics.web.reactive.server.MetricsWebFilter 
[DefaultWebFilterChain]
        |_ checkpoint ⇢ HTTP GET "/topo-service/actuator/health" 
[ExceptionHandlingWebHandler]
   Stack trace:
                at 
org.apache.skywalking.apm.plugin.spring.cloud.gateway.v21x.HttpClientFinalizerResponseConnectionInterceptor$1.apply(HttpClientFinalizerResponseConnectionInterceptor.java:42)
                at 
org.apache.skywalking.apm.plugin.spring.cloud.gateway.v21x.HttpClientFinalizerResponseConnectionInterceptor$1.apply(HttpClientFinalizerResponseConnectionInterceptor.java:37)
                at 
reactor.netty.http.client.HttpClientFinalizer.lambda$responseConnection$4(HttpClientFinalizer.java:102)
                at 
reactor.core.publisher.MonoFlatMapMany$FlatMapManyMain.onNext(MonoFlatMapMany.java:163)
                at 
reactor.core.publisher.SerializedSubscriber.onNext(SerializedSubscriber.java:99)
                at 
reactor.core.publisher.FluxRetryWhen$RetryWhenMainSubscriber.onNext(FluxRetryWhen.java:173)
                at 
reactor.core.publisher.MonoCreate$DefaultMonoSink.success(MonoCreate.java:160)
                at 
reactor.netty.http.client.HttpClientConnect$HttpIOHandlerObserver.onStateChange(HttpClientConnect.java:389)
                at 
reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:638)
                at 
reactor.netty.resources.DefaultPooledConnectionProvider$DisposableAcquire.onStateChange(DefaultPooledConnectionProvider.java:195)
                at 
reactor.netty.resources.DefaultPooledConnectionProvider$PooledConnection.onStateChange(DefaultPooledConnectionProvider.java:466)
                at 
reactor.netty.http.client.HttpClientOperations.onInboundNext(HttpClientOperations.java:613)
                at 
reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:94)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
                at 
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
                at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:324)
                at 
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:311)
                at 
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:432)
                at 
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:276)
                at 
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at 
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:357)
                at 
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:379)
                at 
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:365)
                at 
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
                at 
io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:795)
                at 
io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:480)
                at 
io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:378)
                at 
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)
                at 
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
                at 
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
                at java.lang.Thread.run(Thread.java:748)
   
   ```
   
   Is there some plan to support spring-cloud-gateway 3.x? and when ?
   
   ___
   ### Bug
   - Which version of SkyWalking, OS, and JRE?
   
   - Which company or project?
   
   - What happened?
   If possible, provide a way to reproduce the error. e.g. demo application, 
component version.
   
   ___
   ### Requirement or improvement
   - Please describe your requirements or improvement suggestions.
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to