首批通过分布式安全可靠测评,为关键业务系统打造
SQL 并发高导致出现 4080 告警的原因及解决方法
更新时间:2026-05-15 09:06
问题现象
执行语句出现 -4080 错误。
关键日志信息。
observer.log.20240516110055:[2024-05-16 11:00:07.899780] WARN [RPC.FRAME] easy_session_create_respect_memory_limit (ob_req_transport.cpp:159) [108354][506][Y0-0000000000000000] [lt=12] [dc=0] easy exceed memory limit, dest server has too many pending request, maybe dest server slow or unreachable(dest="xxx.xxx.xxx.xxx:2882", stat->size=8590034144, stat->count=18651, easy_server_memory_limit=8589934592)
observer.log.20240516110055:[2024-05-16 11:00:08.338394] ERROR [SQL.ENG] interrupt_qc (ob_px_interruption.cpp:184) [108943][1578][YB42BD207803-00060A53C38D59A0] [lt=11] [dc=0] fail send interrupt signal to qc(addr="xxx.xxx.xxx.xxx:2882", int_code={code:-4080, info:{msg:"tid:108943,from:"xxx.xxx.xxx.xxx:2882",TASK ABORT QC"}}, orig_int_code={code:-4080, info:{msg:"tid:108943,from:"xxx.xxx.xxx.xxx:2882",TASK ABORT QC"}}, ret=-4080) BACKTRACE:0xd70b878 0xd6f3309 0x3513371 0xb4923e1 0xb492dc4 0xb492f9f 0xb4947c7 0xb70d1e2 0xb70de15 0xb70513b 0xb4cafc3 0xb4cbdb0 0xb4cbe05 0xb4a7e5d 0xb4aa002 0x329caf9 0x329a135 0x3294df4 0xa8bfd4a 0x3c306a7 0xd4a05d6 0xd49dbff 0xd49b9be
问题原因
RPC 发送的并发量太大了,短时间发送了大量的 bathc rpc 请求,RPC IO 线程还没有来得及处理这些请求,500 租户的 easy 相关模块内存就已经达到上限。
问题的风险及影响
影响集群正常执行语句。
影响租户
影响 OceanBase 数据库中的 SYS 租户和 Oracle 租户以及 MySQL 租户。
适用版本
OceanBase 数据库 V3.x 版本。
解决方法
重启节点。
调大
__easy_memory_limit(默认 4G,大查询建议调大)。obclient> alter system set __easy_memory_limit='8G';
规避方式
调大 __easy_memory_limit(默认 4G,大查询建议调大)。
obclient> alter system set __easy_memory_limit='8G';