博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
dubbox、zookeeper BUG记录
阅读量:5816 次
发布时间:2019-06-18

本文共 1425 字,大约阅读时间需要 4 分钟。

主要错误信息:

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

Caused by: com.alibaba.dubbo.remoting.RemotingException: message can not send, because channel is closed .

 

MySQL版本:8.0.15

Eclipse版本: 2018-12 (4.10.0)

dubbox版本:2.8.4

zookeeper版本:3.4.6

 

近期使用dubbox、zookeeper搭建一个项目时主要出现上述问题。

一开始定位最简单的BUG(timeout),以为是设置的timeout时间不够(默认1000ms),后来设置将超时时间加长为60000ms。

<dubbo:provider delay="-1" timeout="60000" retries="0"/>

发现还是timeout,判断不是超时问题。

 

后续又检查了linux的网络地址,类的序列化都没有问题。

用一个小的不涉及查询的demo测试了下,发现可以正常访问及返回。

说明网络地址没问题,检查了类都进行了序列化。

 

考虑是调用方法中的查询操作有问题导致超时。

于是测试查询,发送无法正常返回数据。

初步定位问题出现在dao层。

 

考虑可能是jdbc驱动版本、xml文件语句等问题。

首先检查简单的,容易测试问题,将xml中的sql语句,直接放入Navicat运行发现正常。

考虑可能是驱动版本等问题。

于是先编写了一个测试案例,测试dao中需要使用的方法,发现无法正常运行。

并且弹出too many connection提升,修改了my.ini中最大连接数。

修改后再次运行,又弹出validateConnection false,原始druid版本为1.0.16,后来根据网上的建议换成了1.0.15版本。

修改后再次运行,又弹出creater connection fiail jdbc.url:localhost:3306....

考虑可能是驱动版本问题,查询以前正常项目所用jdbc版本为8.0.11,修改jdbc驱动为8.0.11

修改对应驱动配置:jdbc.driver=com.mysql.cj.jdbc.Driver(老版本驱动无需加cj,问题项目版本jdbc驱动为5.xx.xx)

修改后再次测试,运行正常,结果可以正常返回。

 

最后测试原有项目,运行正常。

 

问题原因:MySQL版本过新,较老的驱动无法正常运行,以及MySQL的一些配置问题。

 

本次寻找BUG总结:

这次寻找问题的过程中,一开始思路上就出现了问题。

最开始试图找到和自己所遇问题一样,可以直接生搬硬套解决问题的方案。

这种思想是不可取的,每个人所遇的问题由于平台环境等因素存在差异性。

没有找出问题出现的原因,只是单纯的按部就班,不一定能解决问题。

正确的做法应该是编写小的demo或测试,定位问题出在哪里,一步步缩小问题范围,然后针对性的寻找和分析问题。

再借助搜索引擎这样才能事半功倍。

寻找问题时应该先尝试解决容易解决的问题,如果比较同意解决的问题不是最终BUG在逐步去解决复杂的问题。

 

转载于:https://www.cnblogs.com/huang-changfan/p/10819833.html

你可能感兴趣的文章
又拍云沈志华:如何打造一款安全的App
查看>>
dubbo源码分析-架构
查看>>
Windows phone 8 学习笔记
查看>>
我的友情链接
查看>>
LeetCode--112--路径总和
查看>>
感悟贴2016-05-13
查看>>
参加婚礼
查看>>
Java重写equals方法和hashCode方法
查看>>
Spring ’14 Wave Update: Installing Dynamics CRM on Tablets for Windows 8.1
查看>>
MySQL 备份与恢复
查看>>
TEST
查看>>
PAT A1037
查看>>
(六)Oracle学习笔记—— 约束
查看>>
[Oracle]如何在Oracle中设置Event
查看>>
top.location.href和localtion.href有什么不同
查看>>
02-创建hibernate工程
查看>>
Gradle之module间依赖版本同步
查看>>
java springcloud版b2b2c社交电商spring cloud分布式微服务(十五)Springboot整合RabbitMQ...
查看>>
10g手动创建数据库
查看>>
Windwos Server 2008 R2 DHCP服务
查看>>