【 使用环境 】
生产环境
【 OB 】
obproxy
【 使用版本 】
4.3.5.1
【问题描述】
obproxy 日志出现了transaction coordinator is closed 报错
【复现路径】
通过gorm 连接池链接obproxy,执行sql查询操作,在运行了7分钟左右,客户端出现报错"invalid connect"以及 " packets.go:37: unexpected EOF" 报错,SQL执行失败。
请大佬们帮忙分析下哪些原因导致的呢
gorm配置如下:
DBConn, err := gorm.Open(mysql.Open(dsn), &gorm.Config{
Logger: logger.NewGormLogger(logger.INFO),
SkipDefaultTransaction: true,
})
DB.SetMaxIdleConns(10)
DB.SetConnMaxIdleTime(time.Second * 5)
DB.SetMaxOpenConns(150)
DB.SetConnMaxLifetime(time.Minute * 2)
其他:
1.我是一个统计程序,SQL执行时间都很快 200ms左右,没看到有什么慢SQL。数据库并发大概在100左右
2.只有链接obproxy会有这个问题,直联observer是OK的
1 个赞
辞霜
#4
麻烦提供一份obproxy日志
看看上游连接池配置的参数是否设置了连接时长?
1 个赞
1429.tar.gz (7.3 MB)
最新的出现时间,以及相关日志请见附件
[mysql] 2025/05/28 14:27:41 packets.go:37: unexpected EOF
[mysql] 2025/05/28 14:29:21 packets.go:37: unexpected EOF
[mysql] 2025/05/28 14:29:22 packets.go:37: unexpected EOF
[mysql] 2025/05/28 14:29:22 packets.go:37: unexpected EOF
[mysql] 2025/05/28 14:29:23 packets.go:37: unexpected EOF
[mysql] 2025/05/28 14:29:24 packets.go:37: unexpected EOF
[mysql] 2025/05/28 14:29:24 packets.go:37: unexpected EOF
感谢大佬
租户primary_zone设置为random 不知道这个是否有影响?
辞霜
#7
[2025-05-28 14:25:47.591835] WDIAG [PROXY.SM] set_client_abort (ob_mysql_sm.cpp:8854) [935476][Y0-00007FB768832C60] [lt=0] [dc=0] client will abort soon(sm_id=875081, cs_id=860376, proxy_sessid=0, ss_id=0, server_sessid=0, client_ip={10.48.37.181:11316}, server_ip={Not IP address [0]:0}, cluster_name=, tenant_name=, user_name=, db=, event=“VC_EVENT_EOS”, request_cmd=“OB_MYSQL_COM_SLEEP”, sql_cmd=“OB_MYSQL_COM_HANDSHAKE”, sql=OB_MYSQL_COM_HANDSHAKE)
看下上游client端是否设置了超时参数
码农101
#8
并发放到1,看下问题是否也可以重现,重现就在应用侧抓个网络包,传上来看看
注意不要执行敏感数据