You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
应用版本:springboot 2.3.4 , 数据库连接池(connection pool):Hikaricp
mycat版本:1.6.7.6
环境:k8s 1.8
database:mysql 8.0.20
现象:应用在k8s环境正常运行,应用莫名的频繁重启,导致业务应用无法正常使用。
日志分析:
1) 通过k8s查看应用pod频繁重启,通过查看在应用pod重启期间的日志,在初始化数据库连接池时,应用日志显示Communications link failure,并频繁在控制台中打出以下信息:
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
并在一分钟左右时间应用重新启动,
3)查看mycat日志,发现在应用在发生频繁重启前,有以下两种错误:
1. jdbcHeartBase Error
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
2. io.mycat.backend.mysql.PreparedStatement.constructColumns(PreparedStatement.java:99) -- can not get column count
java.lang.Exception: unsupport * in select * from ........
4)在通过查找mysql ,mycat日志未找到导致应用频繁重启的原因后,将mycat服务重新启动,应用恢复正常。
有如下几个疑问:
1)jdbcHeartBase Error的错误,是由于mycat高可用的心跳检测机制无法探测mysql主节点的服务导致? 此时如果检测到mysql的主服务不可用,是否mycat内部自动会尝试主从切换?可能由于主从切换一直不成功导致应用错误,导致应用一直重新启动,但启动初始化数据库连接池又不能成功,导致进入一个死循环?
2) mycat不支持select * from ......这样的SQL写法? 导致了第2个问题在日志中频繁出现,但这不应该是导致应用频繁重启的原因,这不是致命的错误。但还是仍然想问一下类似 select * from 。。。。这样的查询语句从mycat而言是否支持?
The text was updated successfully, but these errors were encountered:
应用版本:springboot 2.3.4 , 数据库连接池(connection pool):Hikaricp
mycat版本:1.6.7.6
环境:k8s 1.8
database:mysql 8.0.20
现象:应用在k8s环境正常运行,应用莫名的频繁重启,导致业务应用无法正常使用。
日志分析:
1) 通过k8s查看应用pod频繁重启,通过查看在应用pod重启期间的日志,在初始化数据库连接池时,应用日志显示Communications link failure,并频繁在控制台中打出以下信息:
The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
并在一分钟左右时间应用重新启动,
2)通过查看mysql日志,并查看当前数据库连接的使用情况,并未发现存在大量客户端连接的情况,mysql日志未发现有任何异常
3)查看mycat日志,发现在应用在发生频繁重启前,有以下两种错误:
1. jdbcHeartBase Error
java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not allowed
2. io.mycat.backend.mysql.PreparedStatement.constructColumns(PreparedStatement.java:99) -- can not get column count
java.lang.Exception: unsupport * in select * from ........
4)在通过查找mysql ,mycat日志未找到导致应用频繁重启的原因后,将mycat服务重新启动,应用恢复正常。
有如下几个疑问:
1)jdbcHeartBase Error的错误,是由于mycat高可用的心跳检测机制无法探测mysql主节点的服务导致? 此时如果检测到mysql的主服务不可用,是否mycat内部自动会尝试主从切换?可能由于主从切换一直不成功导致应用错误,导致应用一直重新启动,但启动初始化数据库连接池又不能成功,导致进入一个死循环?
2) mycat不支持select * from ......这样的SQL写法? 导致了第2个问题在日志中频繁出现,但这不应该是导致应用频繁重启的原因,这不是致命的错误。但还是仍然想问一下类似 select * from 。。。。这样的查询语句从mycat而言是否支持?
The text was updated successfully, but these errors were encountered: