Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. start time: 2016-07-20 16:27:34.873, end time: 2016-07-20 16:27:39.895, client elapsed: 0 ms

方案一:

重启dubbo连接 zookeeper

方案二:

经压测,greys跟踪得知,是dubbo的monitor的问题。主要超时的方法是dubbo的getIP方法,monitor每次收集数据的时候都要根据域名获取zk的IP,这一步耗时很长。

    public String getIp() {
        if (ip == null) {
            ip = NetUtils.getIpByHost(host);
        }
        return ip;
    }

现在改了dubbo的源码,monitor每次收集数据的时候不获取zk的ip,直接用域名。增加如下方法,

    public String toServiceString(boolean useIP){
        return buildString(true, false, useIP, true);
    }

修改AbstractMonitorFactory的方法

    public Monitor getMonitor(URL url) {
        url = url.setPath(MonitorService.class.getName()).addParameter(Constants.INTERFACE_KEY, MonitorService.class.getName());
        String key = url.toServiceString(false);
        LOCK.lock();
        try {
            Monitor monitor = MONITORS.get(key);
            if (monitor != null) {
                return monitor;
            }
            monitor = createMonitor(url);
            if (monitor == null) {
                throw new IllegalStateException("Can not create monitor " + url);
            }
            MONITORS.put(key, monitor);
            return monitor;
        } finally {
            // 释放锁
            LOCK.unlock();
        }
    }

原文地址:https://www.cnblogs.com/austinspark-jessylu/p/8340754.html

时间: 2024-08-29 20:25:16

Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer. start time: 2016-07-20 16:27:34.873, end time: 2016-07-20 16:27:39.895, client elapsed: 0 ms的相关文章

关于dubbo服务产生异常之:Caused by: com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout by scan timer.

简单来说就是dubbo超时,因为dubbo默认的时间是500ms,超过这个时间它会重新访问service层,最多尝试三次. 所以我在测试的时候日志显示出来的异常为……timeout……. 开始设置开始设置的timeout=50000,小数据量可以,如果数据量比较大就不行了. 后来在服务提供端设置timeout=1200000 <dubbo:service interface="com.XXXX.XXXXX.CardService" ref="cardService&qu

com.alibaba.dubbo.rpc.RpcException和 com.alibaba.dubbo.remoting.TimeoutException

首先看具体报错的代码 一:检查服务是否配置 二:检查表现册配置  三:检查虚拟机防火墙是否关闭(一般不会是此问题)      四:查看数据库是否能正确连接 五:实体类没有实现序列化 六:注意到有这么一行报错代码   Waiting server-side response          就是响应超时的意思   那么在服务端很多因素都会影响   比如我们debugger服务端就可能造成这种原因(可以设置dubbo超时时间)         原文地址:https://www.cnblogs.co

Caused by: java.lang.ClassNotFoundException: com.alibaba.dubbo.common.Version

<dependency> <groupId>com.alibaba.boot</groupId> <artifactId>dubbo-spring-boot-starter</artifactId> <version>0.2.1.RELEASE</version> </dependency> java.lang.NoClassDefFoundError: com/alibaba/dubbo/common/Ver

com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method

查看了网友们的错误原因, 需要进行实例化的类没有进行实例化,具体没有实例化的类会在错误信息中显示,在错误信息中搜索"Serializable"即可找到将其实现序列化可消除错误. 是在使用Dubbo提供服务是在主机上启动了虚拟机的网络,在Windows中具体可以,在运行中输入"CMD"在CMD窗口中输入"ifconfig"命令查看,如果有其他除本地的网络链接,通过命令或者将其手动禁止,再启动Dubbo服务可以解决问题. 防火墙对应端口没有开启 我这

com.alibaba.dubbo.rpc.RpcException

com.alibaba.dubbo.rpc.RpcException: Failed to invoke the method searchRefundStatus in the service com.dinpay.refund.bank.IBankService. 密密麻麻的报错信息,看开头RpcException异常,马上反应到错误不是在程序代码本身,可能是配置文件的问题,或者是jar包引入不完全等问题(经验主义--汗.)--然后自己在那捣鼓了一个多小时,没弄出个名堂...到最后无意间看到

com.alibaba.dubbo.rpc.RpcException: Since you are

com.alibaba.dubbo.rpc.RpcException: Since you are using server='servlet', make sure that the 'contextpath' property starts with the path of external webapp at com.alibaba.dubbo.rpc.protocol.rest.RestProtocol.doExport(RestProtocol.java:104) at com.ali

redis client 2.0.0 pipeline 的list的rpop bug

描写叙述: redis client 2.0.0 pipeline 的list的rpop 存在严重bug,rpop list的时候,假设list已经为空的时候,rpop出来的Response依旧不为null,导致吊response.get()方法抛异常 代码: @Test public void testRedisPipeline(){ Jedis jedis = null; try{ jedis = new Jedis("127.0.0.1",6379); Pipeline pipe

MySQL异常:Caused by: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request

Caused by: com.mysql.jdbc.exceptions.MySQLTimeoutException: Statement cancelled due to timeout or client request at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2303) at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2696) at com.mys

com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.254.7.50 access service com.qingmu.core.service.ContentService from registry 192.168.200.128:2181 use dubbo version 2.8.4

Could not complete request com.alibaba.dubbo.rpc.RpcException: Forbid consumer 10.254.7.50 access service com.qingmu.core.service.ContentService from registry 192.168.200.128:2181 use dubbo version 2.8.4, Please check registry access list (whitelist/