-
-
Notifications
You must be signed in to change notification settings - Fork 9.7k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Suddenly encountered a "Connection validation failed" error #6854
Comments
关键日志:
只能知道和数据库连接有关,但不知道你这边数据库连接的情况,所以无法判断。 |
可能的原因是:数据库连接的空闲超时时间和 Halo 侧配置的有冲突。如果你没有配置 /triage needs-information |
Halo 是使用的阿里云 RDS MySQL 数据库,具体配置:
|
从 Aliyun 官方 RDS MySQL 文档看,默认系统配置如下: 不过还是建议你登录 RDS 查询一下 MySQL 服务器实际运行参数。 |
实际运行参数是 |
暂时先不修改 Halo 的配置,建议通过 https://help.aliyun.com/zh/rds/apsaradb-rds-for-mysql/view-the-parameters-of-an-apsaradb-rds-for-mysql-instance 检查一下 MySQL 服务器运行配置。 |
检查 RDS 参数,实际运行参数是 |
Hi @Oniokey , 我刚刚发现当前 Issue 此前已经有人提到过,请参考:#4291 (comment)。看看能否解决你的问题呢? /triage duplicate |
ok,已经尝试配置,实验一段时间后再来反馈 |
这边今天访问还是会出现 500 错误,autoReconnect 参数貌似没有起作用 |
Hi @Oniokey , I found there is a similar issue from upstream. We have to wait it to be resolved. 我发现上游有一个类似的 Issue,我们可以关注一下。 |
/retitle Suddenly encountered a "Connection validation failed" error |
Hi @Oniokey ,方便提供发生错误时的完整日志文件吗,我需要之前之前具体发生了什么。不出意外的话,可能会有以下警告日志: 2024-10-17T00:15:46.296+08:00 WARN 52493 --- [ctor-tcp-nio-10] i.a.r.mysql.client.ReactorNettyClient : Connection unexpectedly closed |
Hi @JohnNiang ,我在日志中找到了类似的日志:
但是,这个警告的发生是随机的,我没有找到他和 |
Hi @Oniokey ,感谢反馈! 出现这个警告就说明数据库连接池中的部分连接已经断开了。目前尚不清楚为什么。RDS MySQL 的 wait_timeout 配置是 24 小时,interactive_timeout 配置是 8 小时,而 Halo 侧的连接池的 spring.r2dbc.pool.max-idle-time 配置是 30 分钟(如果你没有额外配置过),这样的配置应该是不会出现以上错误的,除非数据库重启了。 我在本地测试了两种场景都会出现以上警告:
|
Hi @JohnNiang ,一些反馈信息:
这是一个令人迷惑的问题…… |
在问题解决之前,建议先安装一下 https://www.halo.run/store/apps/app-BaamQ 插件,至少可以保证未登录访客可以走页面缓存,防止出现访问不到的情况。 |
好的 |
系统信息
使用的哪种方式运行?
Docker Compose
发生了什么?
偶发访问首页时直接返回 500 Server Internal Error
复现步骤
相关日志输出
附加信息
虽然会偶发 500,但是刷新页面或返回首页后其余所有功能均为正常
The text was updated successfully, but these errors were encountered: