dubbox、zookeeper BUG记录
主要错误信息:
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 .
com.alibaba.dubbo.remoting.TimeoutException: Waiting server-side response timeout.
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在逐步去解决复杂的问题。
dubbox、zookeeper BUG记录的更多相关文章
- 【bug记录】OS Lab3 踩坑记
OS Lab3 踩坑记 Lab3在之前Lab2的基础上,增加了进程建立.调度和中断异常处理.其中测试包括进程建立以及进程调度部分. 由于是第一次做bug记录,而且是调试完bug后再做的记录,所以导致记 ...
- 微信小程序bug记录与解决
微信小程序bug记录 textarea textarea在模拟器上没有padding,可是在真机上会自带padding,而且在外部改不了,并且在安卓和IOS上padding还不一样 第一张图是在开发工 ...
- BUG 记录:移位运算与扩展欧几里得算法
BUG 记录:移位运算与扩展欧几里得算法 起因 上个月就开始打算用C++写一个ECC的轮子(为什么?折磨自己呗!),奈何自己水平有点差,拖到现在才算写完底层的大数运算.在实现欧几里得算法的时候,我开始 ...
- ArcGIS 10.1 BUG记录
声明:笔者使用ARCGIS 10.1 XXX版,YYY版可能没有此处描写的问题 1. 关于注册数据库 发布启用FA的服务,需要为数据库进行ArcGIS Server注册,若通过ArcMap执行注册,会 ...
- 前端bug记录---不定时更新
在项目的开发中难免遇到各种各样的bug,我觉得还是有必要记录一下的,方便日后查询. safari window resize 为满足日常轮播需求,做一个符合当前业务的轮播插件,其中需要考虑windo ...
- bug记录-setTimeout、setInterval之IOS7
本篇文章主要讲查找并分析bug的思路,相关的函数不是本文的重点. 众所周知,setTimeout和setInterval是用来做延迟调用以及周期性调用的方法,他们支持的参数都差不多. setTimeo ...
- CDH:5.14.0 中 Hive BUG记录
CDH5.14.0使用的HIVE版本: 自建表log: +----------------------------------------------------+--+ | createtab_st ...
- 【bug记录】OS Lab4 踩坑记
OS Lab4 踩坑记 Lab4在之前Lab3的基础上,增加了系统调用,难度增加了很多.而且加上注释不详细,开玩笑的指导书,自己做起来困难较大.也遇到了大大小小的bug,调试了一整天. 本文记录笔者在 ...
- 前端bug记录
记录一下前端入门时期遇到的一些bug. 1.同步.异步问题 背景:Javascript语言的执行环境是单线程.即一次只能完成一个任务.若有多个任务则需排队逐个执行——前一个任务完成,再执行后一个任务. ...
随机推荐
- C++篇:第八章_类_知识点大全
C++篇为本人学C++时所做笔记(特别是疑难杂点),全是硬货,虽然看着枯燥但会让你收益颇丰,可用作学习C++的一大利器 八.类 (一)类的概念与规则 "子类"和"子类型& ...
- 【直播回顾】OpenHarmony知识赋能第四期第二课——GPIO驱动开发
3月17日晚上19点,知识赋能第四期直播的第二节课<OpenHarmony标准系统HDF框架之GPIO驱动开发>,在OpenHarmony开发者成长计划社群内成功举办. 本期课程,由 ...
- JS判断移动端还是PC端(改造自腾讯网) 仅用于宣传动画,下载页等
JS判断移动端还是PC端(改造自腾讯网 http://www.qq.com/) 本脚本仅用于宣传动画,下载页( ipad 也算pc端)等, ionic 用 ionic.platform 即可( io ...
- 使用 docker-compose 部署 golang 的 Athens 私有代理
go中私有代理搭建 前言 为什么选择 athens 使用 docker-compose 部署 配置私有仓库的认证信息 配置下载模式 部署 使用秘钥的方式认证私有仓库 1.配置秘钥 2.配置 HTTP ...
- .NET桌面程序应用WebView2组件集成网页开发4 WebView2的线程模型
系列目录 [已更新最新开发文章,点击查看详细] WebView2控件基于组件对象模型(COM),必须在单线程单元(STA)线程上运行. 线程安全 WebView2必须在使用消息泵的UI线程上创 ...
- 4.文件共享总结上篇-Windows之间文件共享
本文章包含上篇和下篇两部分,今天我们主要讨论Windows系统之间的文件互访 Windows系统之间文件互传 1)利用Windows自带的文件共享服务 本次试验以Win7为服务器端,win10为客户端 ...
- SSH 证书登录教程
开源Linux 专注分享开源技术知识 SSH 是服务器登录工具,提供密码登录和密钥登录. 但是,SSH 还有第三种登录方法,那就是证书登录.很多情况下,它是更合理.更安全的登录方法,本文就介绍这种登录 ...
- vue实例vm的方法
import wbMessage from './wb-message' let Constructor = Vue.extend(wbMessage) let vm = new Constructo ...
- SpringCloud Gateway 漏洞分析 (CVE-2022-22947)
背景 SpringCloud 是Spring提供的微服务实现框架,其中包含网关.配置中心和注册中心等内容,网关的第一代实现为zuul,第二代实现为Gateway,提供了更好的性能和特性. 网关可以提供 ...
- 实验:Python图形图像处理
1. 准备一张照片,编写Python程序将该照片进行图像处理,分别输出以下效果的图片:(a)灰度图:(b)轮廓图: (c)变换RGB通道图:(d)旋转45度图. 2. 假设当前文件夹中data.csv ...