java,apache,dubbo超时异常【原】

dubbo超时异常研究结果

客户端超时异常

e instanceof com.alibaba.dubbo.rpc.RpcException

-->com.alibaba.dubbo.rpc.RpcException
com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method jsonReq in the service com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi. Tried 1 times of the providers [10.18.11.244:9202] (1/1) from the registry dubboserver:2181 on the consumer 10.18.11.244 using the dubbo version 2.5.3. Last error is: Invoke remote method timeout. method: jsonReq, provider: dubbo://10.18.11.244:9202/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?anyhost=true&application=dubbo-interface3rd-consumer-local&check=false&default.check=false&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=15344&retries=0&revision=1.0&side=consumer&timeout=5000&timestamp=1527211945317&version=1.0, cause: Waiting server-side response timeout by scan timer. start time: 2018-05-25 09:32:26.264, end time: 2018-05-25 09:32:31.279, client elapsed: 57 ms, server elapsed: 4958 ms, timeout: 5000 ms, request: Request [id=0, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=jsonReq, parameterTypes=[class java.lang.String, class java.lang.String, class java.lang.String], arguments=[reqHead, reqBody, reqSign], attachments={path=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi, interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi, timeout=5000, version=1.0}]], channel: /10.18.11.244:52232 -> /10.18.11.244:9202
    at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:101)
    at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:227)
    at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:72)
    at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52)
    at com.alibaba.dubbo.common.bytecode.proxy0.jsonReq(proxy0.java)
    at dubbo.DubboConsumber.main(DubboConsumber.java:27)
Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. start time: 2018-05-25 09:32:26.264, end time: 2018-05-25 09:32:31.279, client elapsed: 57 ms, server elapsed: 4958 ms, timeout: 5000 ms, request: Request [id=0, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=jsonReq, parameterTypes=[class java.lang.String, class java.lang.String, class java.lang.String], arguments=[reqHead, reqBody, reqSign], attachments={path=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi, interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi, timeout=5000, version=1.0}]], channel: /10.18.11.244:52232 -> /10.18.11.244:9202
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.returnFromResponse(DefaultFuture.java:188)
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:110)
    at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:84)
    at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:96)
    at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:144)
    at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:74)
    at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:53)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:48)
    at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:91)
    at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:53)
    at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:77)
    ... 5 more
interface3rd [2018-05-25 09:32:31,282]>>>INFO>>>[ com.alibaba.dubbo.config.AbstractConfig$1.run(AbstractConfig.java:450) ]-[ [DUBBO] Run shutdown hook now., dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,282]>>>INFO>>>[ com.alibaba.dubbo.registry.support.AbstractRegistryFactory.destroyAll(AbstractRegistryFactory.java:63) ]-[ [DUBBO] Close all registries [zookeeper://dubboserver:2181/com.alibaba.dubbo.registry.RegistryService?application=dubbo-interface3rd-consumer-local&check=false&dubbo=2.5.3&interface=com.alibaba.dubbo.registry.RegistryService&pid=15344&timestamp=1527211945386], dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,282]>>>INFO>>>[ com.alibaba.dubbo.registry.support.AbstractRegistry.destroy(AbstractRegistry.java:485) ]-[ [DUBBO] Destroy registry:zookeeper://dubboserver:2181/com.alibaba.dubbo.registry.RegistryService?application=dubbo-interface3rd-consumer-local&check=false&dubbo=2.5.3&interface=com.alibaba.dubbo.registry.RegistryService&pid=15344&timestamp=1527211945386, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,283]>>>INFO>>>[ com.alibaba.dubbo.registry.support.AbstractRegistry.unregister(AbstractRegistry.java:312) ]-[ [DUBBO] Unregister: consumer://10.18.11.244/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?application=dubbo-interface3rd-consumer-local&category=consumers&check=false&default.check=false&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=15344&revision=1.0&side=consumer&timeout=5000&timestamp=1527211945317&version=1.0, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,337]>>>INFO>>>[ com.alibaba.dubbo.registry.support.AbstractRegistry.destroy(AbstractRegistry.java:494) ]-[ [DUBBO] Destroy unregister url consumer://10.18.11.244/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?application=dubbo-interface3rd-consumer-local&category=consumers&check=false&default.check=false&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=15344&revision=1.0&side=consumer&timeout=5000&timestamp=1527211945317&version=1.0, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,337]>>>INFO>>>[ com.alibaba.dubbo.registry.support.AbstractRegistry.unsubscribe(AbstractRegistry.java:343) ]-[ [DUBBO] Unsubscribe: consumer://10.18.11.244/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?application=dubbo-interface3rd-consumer-local&category=providers,configurators,routers&check=false&default.check=false&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=15344&revision=1.0&side=consumer&timeout=5000&timestamp=1527211945317&version=1.0, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,338]>>>INFO>>>[ com.alibaba.dubbo.registry.support.AbstractRegistry.destroy(AbstractRegistry.java:510) ]-[ [DUBBO] Destroy unsubscribe url consumer://10.18.11.244/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?application=dubbo-interface3rd-consumer-local&category=providers,configurators,routers&check=false&default.check=false&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=15344&revision=1.0&side=consumer&timeout=5000&timestamp=1527211945317&version=1.0, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,338]>>>INFO>>>[ org.I0Itec.zkclient.ZkEventThread.run(ZkEventThread.java:82) ]-[Terminate ZkClient event thread.]  
interface3rd [2018-05-25 09:32:31,357]>>>INFO>>>[ org.apache.zookeeper.ZooKeeper.close(ZooKeeper.java:684) ]-[Session: 0x16306a8d86e0682 closed]  
interface3rd [2018-05-25 09:32:31,358]>>>INFO>>>[ com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.destroy(DubboProtocol.java:407) ]-[ [DUBBO] Close dubbo connect: /10.18.11.244:52232-->/10.18.11.244:9202, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,359]>>>INFO>>>[ com.alibaba.dubbo.remoting.transport.netty.NettyChannel.close(NettyChannel.java:135) ]-[ [DUBBO] Close netty channel [id: 0x45b47a71, /10.18.11.244:52232 => /10.18.11.244:9202], dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,360]>>>INFO>>>[ org.apache.zookeeper.ClientCnxn$EventThread.run(ClientCnxn.java:519) ]-[EventThread shut down for session: 0x16306a8d86e0682]  
interface3rd [2018-05-25 09:32:31,361]>>>INFO>>>[ com.alibaba.dubbo.rpc.protocol.dubbo.DubboProtocol.destroy(DubboProtocol.java:421) ]-[ [DUBBO] Close dubbo connect: 10.18.11.244:0-->10.18.11.244:9202, dubbo version: 2.5.3, current host: 10.18.11.244]  
interface3rd [2018-05-25 09:32:31,362]>>>INFO>>>[ com.alibaba.dubbo.rpc.protocol.AbstractProtocol.destroy(AbstractProtocol.java:63) ]-[ [DUBBO] Destroy reference: dubbo://10.18.11.244:9202/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?anyhost=true&application=dubbo-interface3rd-consumer-local&check=false&default.check=false&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=15344&retries=0&revision=1.0&side=consumer&timeout=5000&timestamp=1527211945317&version=1.0, dubbo version: 2.5.3, current host: 10.18.11.244]  

服务端超时异常

e instanceof com.alibaba.dubbo.rpc.RpcException

此时由于客户端先超时后断开了与服务端的连接, 服务端是感知到后, 无法返回报文给客户端了的.

interface3rd [2018-05-25 09:35:13,536]>>>INFO>>>[ com.isoftstone.pcis.services.interface3rd.commreq.impl.CommReqImpl.jsonReq(CommReqImpl.java:44) ]-[我是服务方:消费者请求报文如下:

reqHead:
reqHead

reqBody:
reqBody

sign:
reqSign]  
interface3rd [2018-05-25 09:35:13,537]>>>WARN>>>[ com.alibaba.dubbo.rpc.filter.TimeoutFilter.invoke(TimeoutFilter.java:48) ]-[ [DUBBO] invoke time out. method: jsonReqarguments: [reqHead, reqBody, reqSign] , url is dubbo://10.18.11.244:9202/com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi?anyhost=true&application=dubbo-interface3rd-provider-local&dubbo=2.5.3&interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi&methods=jsonReq,xmlReq&pid=5408&retries=0&revision=1.0&side=provider&timeout=10000&timestamp=1527211820772&version=1.0, invoke elapsed 167214 ms., dubbo version: 2.5.3, current host: 127.0.0.1] interface3rd [2018-05-25 09:35:13,538]>>>WARN>>>[ com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:84) ]-[ [DUBBO] ChannelEventRunnable handle RECEIVED operation error, channel is NettyChannel [channel=[id: 0x01d5698d, /10.18.11.244:52232 :> /10.18.11.244:9202]], message is Request [id=0, version=2.0.0, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=jsonReq, parameterTypes=[class java.lang.String, class java.lang.String, class java.lang.String], arguments=[reqHead, reqBody, reqSign], attachments={dubbo=2.5.3, input=357, path=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi, interface=com.isoftstone.pcis.services.interface3rd.commreq.api.ICommReqApi, timeout=5000, version=1.0}]], dubbo version: 2.5.3, current host: 127.0.0.1] com.alibaba.dubbo.remoting.RemotingException: Failed to send message Response [id=0, version=2.0.0, status=20, event=false, error=null, result=RpcResult [result=sorry , head格式错误过多., exception=null]] to /10.18.11.244:52232, cause: null at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:108) at com.alibaba.dubbo.remoting.transport.AbstractPeer.send(AbstractPeer.java:51) at com.alibaba.dubbo.remoting.exchange.support.header.HeaderExchangeHandler.received(HeaderExchangeHandler.java:171) at com.alibaba.dubbo.remoting.transport.DecodeHandler.received(DecodeHandler.java:52) at com.alibaba.dubbo.remoting.transport.dispatcher.ChannelEventRunnable.run(ChannelEventRunnable.java:82) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) at java.lang.Thread.run(Thread.java:744) Caused by: java.nio.channels.ClosedChannelException at org.jboss.netty.channel.socket.nio.NioWorker.cleanUpWriteBuffer(NioWorker.java:643) at org.jboss.netty.channel.socket.nio.NioWorker.writeFromUserCode(NioWorker.java:370) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.handleAcceptedSocket(NioServerSocketPipelineSink.java:137) at org.jboss.netty.channel.socket.nio.NioServerSocketPipelineSink.eventSunk(NioServerSocketPipelineSink.java:76) at org.jboss.netty.channel.Channels.write(Channels.java:632) at org.jboss.netty.handler.codec.oneone.OneToOneEncoder.handleDownstream(OneToOneEncoder.java:70) at com.alibaba.dubbo.remoting.transport.netty.NettyHandler.writeRequested(NettyHandler.java:99) at org.jboss.netty.channel.Channels.write(Channels.java:611) at org.jboss.netty.channel.Channels.write(Channels.java:578) at org.jboss.netty.channel.AbstractChannel.write(AbstractChannel.java:251) at com.alibaba.dubbo.remoting.transport.netty.NettyChannel.send(NettyChannel.java:98) ... 7 more

java异常研究结果

URLConnection客户端超时异常以及404异常

e instanceof java.net.SocketTimeoutException ||
e instanceof java.net.SocketException ||

apacheClient异常研究结果

客户端超时异常

e instanceof org.apache.http.conn.HttpHostConnectException ||
e instanceof org.apache.http.conn.ConnectTimeoutException  ||

猜你喜欢

转载自www.cnblogs.com/bobo1713930654/p/9086937.html