seata-samples icon indicating copy to clipboard operation
seata-samples copied to clipboard

seata-simple-dubbo Waiting server-side response timeout

Open chtxia opened this issue 3 years ago • 2 comments

[INFO ] 2022-07-27 10:33:00,760 method:com.alibaba.dubbo.registry.support.AbstractRegistry.destroy(AbstractRegistry.java:460) [DUBBO] Destroy unregister url consumer://192.168.255.10/io.seata.samples.dubbo.service.OrderService?application=dubbo-demo-app&category=consumers&check=false&dubbo=2.0.2&interface=io.seata.samples.dubbo.service.OrderService&methods=create&pid=1896&qos.accept.foreign.ip=false&qos.enable=false&qos.port=33333&side=consumer&timestamp=1658888909577, dubbo version: 2.6.12, current host: 192.168.255.10 [INFO ] 2022-07-27 10:33:00,761 method:com.alibaba.dubbo.registry.support.AbstractRegistry.unsubscribe(AbstractRegistry.java:317) [DUBBO] Unsubscribe: consumer://192.168.255.10/io.seata.samples.dubbo.service.OrderService?application=dubbo-demo-app&category=providers,configurators,routers&check=false&dubbo=2.0.2&interface=io.seata.samples.dubbo.service.OrderService&methods=create&pid=1896&qos.accept.foreign.ip=false&qos.enable=false&qos.port=33333&side=consumer&timestamp=1658888909577, dubbo version: 2.6.12, current host: 192.168.255.10 Exception in thread "main" com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method deduct in the service io.seata.samples.dubbo.service.StockService. Tried 3 times of the providers [192.168.255.10:20882] (1/1) from the registry 127.0.0.1:8848 on the consumer 192.168.255.10 using the dubbo version 2.6.12. Last error is: Invoke remote method timeout. method: deduct, provider: dubbo://192.168.255.10:20882/io.seata.samples.dubbo.service.StockService?anyhost=true&application=dubbo-demo-app&bean.name=io.seata.samples.dubbo.service.StockService&category=providers&check=false&dubbo=2.0.2&generic=false&interface=io.seata.samples.dubbo.service.StockService&methods=deduct,batchDeduct&pid=1896&protocol=dubbo&qos.accept.foreign.ip=false&qos.enable=false&qos.port=33333&register.ip=192.168.255.10&remote.timestamp=1658885606710&side=consumer&timeout=90000&timestamp=1658888910337, cause: Waiting server-side response timeout. start time: 2022-07-27 10:31:30.738, end time: 2022-07-27 10:33:00.744, client elapsed: 0 ms, server elapsed: 90006 ms, timeout: 90000 ms, request: Request [id=2, version=2.0.2, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=deduct, parameterTypes=[class java.lang.String, int], arguments=[C00321, 2], attachments={path=io.seata.samples.dubbo.service.StockService, TX_XID=192.168.255.10:8091:1315339454687547408, TX_BRANCH_TYPE=AT, interface=io.seata.samples.dubbo.service.StockService, version=0.0.0, timeout=90000}, attributes={serialization_id=2}]], channel: 192.168.255.10:0 -> /192.168.255.10:20882 at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:111) at com.alibaba.dubbo.rpc.cluster.support.AbstractClusterInvoker.invoke(AbstractClusterInvoker.java:244) at com.alibaba.dubbo.rpc.cluster.support.wrapper.MockClusterInvoker.invoke(MockClusterInvoker.java:75) at com.alibaba.dubbo.rpc.proxy.InvokerInvocationHandler.invoke(InvokerInvocationHandler.java:52) at com.alibaba.dubbo.common.bytecode.proxy1.deduct(proxy1.java) at io.seata.samples.dubbo.service.impl.BusinessServiceImpl.purchase(BusinessServiceImpl.java:46) at io.seata.samples.dubbo.service.impl.BusinessServiceImpl$$FastClassBySpringCGLIB$$1af2d32f.invoke() at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:218) at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.invokeJoinpoint(CglibAopProxy.java:749) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163) at io.seata.spring.annotation.GlobalTransactionalInterceptor$2.execute(GlobalTransactionalInterceptor.java:184) at io.seata.tm.api.TransactionalTemplate.execute(TransactionalTemplate.java:127) at io.seata.spring.annotation.GlobalTransactionalInterceptor.handleGlobalTransaction(GlobalTransactionalInterceptor.java:181) at io.seata.spring.annotation.GlobalTransactionalInterceptor.invoke(GlobalTransactionalInterceptor.java:150) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:186) at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:688) at io.seata.samples.dubbo.service.impl.BusinessServiceImpl$$EnhancerBySpringCGLIB$$76e8b725.purchase() at io.seata.samples.dubbo.starter.DubboBusinessTester.main(DubboBusinessTester.java:38) Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout. start time: 2022-07-27 10:31:30.738, end time: 2022-07-27 10:33:00.744, client elapsed: 0 ms, server elapsed: 90006 ms, timeout: 90000 ms, request: Request [id=2, version=2.0.2, twoway=true, event=false, broken=false, data=RpcInvocation [methodName=deduct, parameterTypes=[class java.lang.String, int], arguments=[C00321, 2], attachments={path=io.seata.samples.dubbo.service.StockService, TX_XID=192.168.255.10:8091:1315339454687547408, TX_BRANCH_TYPE=AT, interface=io.seata.samples.dubbo.service.StockService, version=0.0.0, timeout=90000}, attributes={serialization_id=2}]], channel: 192.168.255.10:0 -> /192.168.255.10:20882 at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:159) at com.alibaba.dubbo.remoting.exchange.support.DefaultFuture.get(DefaultFuture.java:135) at com.alibaba.dubbo.rpc.protocol.dubbo.DubboInvoker.doInvoke(DubboInvoker.java:95) at com.alibaba.dubbo.rpc.protocol.AbstractInvoker.invoke(AbstractInvoker.java:164) at io.seata.integration.dubbo.alibaba.AlibabaDubboTransactionPropagationFilter.invoke(AlibabaDubboTransactionPropagationFilter.java:72) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72) at com.alibaba.dubbo.monitor.support.MonitorFilter.invoke(MonitorFilter.java:75) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72) at com.alibaba.dubbo.rpc.protocol.dubbo.filter.FutureFilter.invoke(FutureFilter.java:54) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72) at com.alibaba.dubbo.rpc.filter.ConsumerContextFilter.invoke(ConsumerContextFilter.java:49) at com.alibaba.dubbo.rpc.protocol.ProtocolFilterWrapper$1.invoke(ProtocolFilterWrapper.java:72) at com.alibaba.dubbo.rpc.listener.ListenerInvokerWrapper.invoke(ListenerInvokerWrapper.java:77) at com.alibaba.dubbo.rpc.protocol.InvokerWrapper.invoke(InvokerWrapper.java:56) at com.alibaba.dubbo.rpc.cluster.support.FailoverClusterInvoker.doInvoke(FailoverClusterInvoker.java:80) ... 17 more [INFO ] 2022-07-27 10:33:00,761 method:com.alibaba.dubbo.registry.support.AbstractRegistry.destroy(AbstractRegistry.java:476)

这个简单的demo,调整过超时时间,各种方案尝试多次,问题依然存在

chtxia avatar Jul 27 '22 02:07 chtxia

@slievrly I also faced same server-side response timeout when I used docker run --name seata-server -p 8091:8091 -p 7091:7091 seataio/seata-server:latest for starting and deploying seta-server, after some time it gets stuck with timeout error.

Logs_seata-server: seata-server.txt

odidev avatar Oct 06 '22 05:10 odidev

The reason is that Dubbo selected the wrong IP, which is not accessible. This usually happens due to Docker or similar issues. You can solve it by adding the environment variable DUBBO_IP_TO_REGISTRY=10.x.x.35 to the startup parameter. The IP mentioned should not be 127.0.0.1; you need to change it to your local LAN IP.

image

leizhiyuan avatar Oct 18 '23 03:10 leizhiyuan