首批通过分布式安全可靠测评,为关键业务系统打造
磁盘故障导致的合并超时,SQL 执行超时
更新时间:2026-06-15 09:16
适用版本
OceanBase 数据库所有版本。
问题现象
集群合并状态为 Timeout。SQL 执行时报错 -4012,Timeout。
用 SQL 的 trace_id 搜索 observer.log,发现有 record_read_failure、io fault 等报错。说明磁盘存在故障。
[2022-12-13 09:52:00.177851] WARN [COMMON] record_read_failure (ob_io_struct.cpp:3045) [142471][0][YB420ABC8F27-0005E6AB9B4852DA-0-0] [lt=14] [dc=0] io fault detector push task failed(ret=-4023, retry_task=0x7ec2a8d38ab0)
[2022-12-13 09:52:00.177927] WARN [STORAGE] wait (ob_storage_file.cpp:316) [142471][0][YB420ABC8F27-0005E6AB9B4852DA-0-0] [lt=9] [dc=0] fail to handle aio error(ret=-4012, macro_id_=[0-2284681](ver=1,mode=0,seq=2284676), timeout_ms=7199990)
[2022-12-13 09:52:00.177934] WARN [STORAGE] get_block_data (ob_micro_block_handle_mgr.cpp:76) [142471][0][YB420ABC8F27-0005E6AB9B4852DA-0-0] [lt=6] [dc=0] Fail to wait micro block io, (ret=-4012)
问题原因
Red Hat Linux 6、7 版本中 XFS 文件系统 bug。
验证方式:dmesg 中有以下信息。
XFS: possible memory allocation deadlock in kmem_alloc (mode:0x250)
解决方法
升级操作系统。