bestK opened a new issue, #5419:
URL: https://github.com/apache/shenyu/issues/5419
### Is there an existing issue for this?
- [X] I have searched the existing issues
### Current Behavior
When dealing with a timeout in the shenyu, if the interface times out, the
thrown exception manifests as `Required request body is missing: public
com.xxx.live.entity.dto.YlosLiveEventResponseDto
com.xxx.live.api.YlosLiveHookAPI.forward(com.ylos.live.entity.dto.YlosLiveEventDto)`.
However, when I set the timeout inside "Divide" to 10 seconds, it is able to
return the correct response. The callback interface call fails with the message
"xxxxx Callback interface call failed: No route to the host (Host unreachable)".
### Expected Behavior
_No response_
### Steps To Reproduce
_No response_
### Environment
```markdown
ShenYu version(s):2.6.0
```
### Debug logs
```
2024-01-25 09:59:17.062 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : contextPath selector match success
from default strategy
2024-01-25 09:59:17.063 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : contextPath selector success match ,
selector name :/live
2024-01-25 09:59:17.063 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : contextPath rule match path from
default strategy
2024-01-25 09:59:17.063 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : contextPath rule success match ,
rule name :/live
2024-01-25 09:59:17.063 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : divide selector match success from
default strategy
2024-01-25 09:59:17.063 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : divide selector success match ,
selector name :/live
2024-01-25 09:59:17.063 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : divide rule match path from default
strategy
2024-01-25 09:59:17.064 INFO 1 --- [nyu-netty-nio-9]
o.a.s.plugin.base.AbstractShenyuPlugin : divide rule success match , rule
name :/live
2024-01-25 09:59:20.071 ERROR 1 --- [ parallel-7]
o.a.s.p.h.AbstractHttpClientPlugin : Response took longer than timeout:
PT3S
java.util.concurrent.TimeoutException: Response took longer than timeout:
PT3S
at
org.apache.shenyu.plugin.httpclient.AbstractHttpClientPlugin.execute(AbstractHttpClientPlugin.java:83)
~[shenyu-plugin-httpclient-2.6.0.jar:2.6.0]
at
org.apache.shenyu.web.handler.ShenyuWebHandler$DefaultShenyuPluginChain.lambda$execute$0(ShenyuWebHandler.java:261)
~[shenyu-web-2.6.0.jar:2.6.0]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:45)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.Mono.subscribe(Mono.java:4490)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.FluxFlatMap.trySubscribeScalarMap(FluxFlatMap.java:203)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.MonoFlatMap.subscribeOrReturn(MonoFlatMap.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:57)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.MonoDefer.subscribe(MonoDefer.java:53)
~[reactor-core-3.4.30.jar:3.4.30]
at reactor.core.publisher.Mono.subscribe(Mono.java:4490)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.MonoIgnoreThen$ThenIgnoreMain.subscribeNext(MonoIgnoreThen.java:263)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.MonoIgnoreThen.subscribe(MonoIgnoreThen.java:51)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.InternalMonoOperator.subscribe(InternalMonoOperator.java:64)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.core.publisher.MonoDeferContextual.subscribe(MonoDeferContextual.java:55)
~[reactor-core-3.4.30.jar:3.4.30]
at
reactor.netty.http.server.HttpServer$HttpServerHandle.onStateChange(HttpServer.java:1002)
~[reactor-netty-http-1.0.33.jar:1.0.33]
at
reactor.netty.ReactorNetty$CompositeConnectionObserver.onStateChange(ReactorNetty.java:707)
~[reactor-netty-core-1.0.33.jar:1.0.33]
at
reactor.netty.transport.ServerTransport$ChildObserver.onStateChange(ServerTransport.java:481)
~[reactor-netty-core-1.0.33.jar:1.0.33]
at
reactor.netty.http.server.HttpServerOperations.onInboundNext(HttpServerOperations.java:621)
~[reactor-netty-http-1.0.33.jar:1.0.33]
at
reactor.netty.channel.ChannelOperationsHandler.channelRead(ChannelOperationsHandler.java:113)
~[reactor-netty-core-1.0.33.jar:1.0.33]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
reactor.netty.http.server.HttpTrafficHandler.channelRead(HttpTrafficHandler.java:230)
~[reactor-netty-http-1.0.33.jar:1.0.33]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.CombinedChannelDuplexHandler$DelegatingChannelHandlerContext.fireChannelRead(CombinedChannelDuplexHandler.java:436)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
~[netty-codec-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333)
~[netty-codec-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:454)
~[netty-codec-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
~[netty-codec-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.CombinedChannelDuplexHandler.channelRead(CombinedChannelDuplexHandler.java:251)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.nio.AbstractNioByteChannel$NioByteUnsafe.read(AbstractNioByteChannel.java:166)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:788)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:724)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:650)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:562)
~[netty-transport-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
~[netty-common-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
~[netty-common-4.1.94.Final.jar:4.1.94.Final]
at
io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
~[netty-common-4.1.94.Final.jar:4.1.94.Final]
at java.lang.Thread.run(Thread.java:748) ~[na:1.8.0_212]
2024-01-25 09:59:37.395 ERROR 1 --- [nyu-netty-nio-2]
o.a.s.p.api.utils.WebFluxResultUtils : can not match selector data: divide
, path is /
2024-01-25 10:00:37.464 ERROR 1 --- [nyu-netty-nio-3]
o.a.s.p.api.utils.WebFluxResultUtils : can not match selector data: divide
, path is /
```
### Anything else?
_No response_
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]