基于湖库一体架构,统一管理结构化、半结构化与非结构化等多模态数据,一个系统承载事务处理、实时分析与 AI 工作负载。
sched_ctx.cur_stmt_unreachable_partitions_ print 未加锁,被其他线程修改导致 core 问题
更新时间:2026-06-12 03:56
问题现象
OBServer core。
问题原因
语句回滚线程在无锁的情况下等待回滚请求的响应。并且超时后会打印 unreachable_partitions,这是一个 array。而这个 array 可能此时正在被回滚请求的响应处理线程进行添加操作。从而发生并发访问。引起 searry 中的 assert 失败,coredump。
问题的风险及影响
出现概率不大。这个问题一直存在。出现会引起 OBServer core。重启 OBServer 可解决。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
影响版本
OceanBase 数据库企业版 V2.2.77 GA(oceanbase-2.2.77-20210508211731)及之后版本、V3.1.2 GA(oceanbase-3.1.2-20210618150922)及之后版本、V3.2.3 GA(oceanbase-3.2.3.0-20220418212020)及之后版本、V3.2.4 GA(oceanbase-3.2.4.0-100000072022102819)及之后版本。
解决方法
升级至问题已修复版本。目前已修复的版本包括 OceanBase 数据库企业版 V2.2.77 BP14(oceanbase-2.2.77-114000072022120410)及之后版本、V3.1.2 BP11(oceanbase-3.1.2-111000052023010412)及之后版本、V3.2.3 BP7(oceanbase-3.2.3.3-107000092023011911)及之后版本、V3.2.4 BP1(oceanbase-3.2.4.1-101000052023010822)及之后版本。
规避方式
无运维上规避方法。