从4.3.5升级到4.4.2后,经常出现sys租户队列超时告警,然后所有业务租户3副本CPU使用率开始暴涨

【 使用环境 】生产环境
【 OB or 其他组件 】OB
【 使用版本 】4.4.2
【问题描述】

image

top -Hp命令结果

observer.log日志:
[2026-07-09 16:02:53.708353] ERROR [SERVER] deliver_mysql_request (ob_srv_deliver.cpp:889) [1327487][sql_nio2][T0][Y0-0000000000000000-0-0] [lt=40][errcode=-4019] deliver mysql request to tenant: 1 queue failed, the queue is full. [suggestion] check T1_L0_G0 thread stack to see which procedure is taking too long or is blocked or check __all_virtual_thread view.

6月27日。从4.3.5版本升级到4.4.2版本开始。频繁出现 sys租户队列超时告警。
一旦出现这个告警。2个业务租户的cpu也会飙升

5 个赞

看着请求队列满了 先增加cpu资源 之前帖子回复你了或者挨个重启一下observer 先恢复observer集群
把这个时间段的observer.log日志取一下

2 个赞

sys租户已经从4核加到12核了。 还是出现
之前4.3.5版本一直4核很稳定。

2 个赞

这个时间段的observer.log rootsevice.log日志取一下 看看

2 个赞

之前日志级别 设置的 WARN.

有用的信息就
[2026-07-09 16:02:53.708353] ERROR [SERVER] deliver_mysql_request (ob_srv_deliver.cpp:889) [1327487][sql_nio2][T0][Y0-0000000000000000-0-0] [lt=40][errcode=-4019] deliver mysql request to tenant: 1 queue failed, the queue is full. [suggestion] check T1_L0_G0 thread stack to see which procedure is taking too long or is blocked or check __all_virtual_thread view.

目前集群已经恢复。
我先把日志级别改成WDIG。 后面遇到了 我把日志down下来。 除了日志还有什么需要排查的吗

2 个赞

如果有ocp的话 可以看看
集群控制台-性能监控-主机性能, 点击监控下钻 可以看到每个 OBServer的 CPU 使用率。
ocp上的top sql也可以看看

2 个赞



问题期间,sys租户有个sql耗时异常
SELECT
CAST(USEC_TO_TIME(request_time) AS CHAR(32)),
query_sql
FROM
__all_virtual_sql_audit
where
session_id = ?
and transaction_id = ?
and seq_num <= ?
order by
seq_num desc
limit
?

1 个赞


top sql选一下在这个时间段里 看看

2 个赞

看着是这个sql占比很高呀 你看看这个sql的执行计划 使用gv$ob_sql_audit搜一下这个sql文本
你对比一下 没有出问题的时候 这个语句执行的情况

2 个赞

SELECT
CAST(USEC_TO_TIME(request_time) AS CHAR(32)),
query_sql
FROM
__all_virtual_sql_audit
where
session_id = ?
and transaction_id = ?
and seq_num <= ?
order by
seq_num desc
limit
?
这个

1 个赞

你看看没有问题的时候 这个语句是否有问题

1 个赞

1 个赞

执行计划 也看一下

1 个赞

?为什么能从4.3.5升级到4.4.2啊,我之前发帖的时候问的官方说不支持啊

1 个赞

441不支持 之前442没有打通 现在是可以的


又来了

你看看top sql是不是还是这个语句 cpu占比还是很高

我们是4.3.5BP5能升吗

你是怎么升的 ocp升级的还是黑屏下升级的 可以提个官方悬赏