【 使用环境 】测试环境
【 OB or 其他组件 】ocp
【 使用版本 】4.3.1
【问题描述】正常执行sql,告警
【复现路径】sysbench压测
【附件及日志】推荐使用OceanBase敏捷诊断工具obdiag收集诊断信息,详情参见链接(右键跳转查看):
告警事件详情
告警概述:alarm_template_id=0:ob_cluster=openeuler_cosmo-1724226826:host=xxx.xxx.xxx.xxx OBServer 非预期的内部错误
告警详情:[OBServer 非预期的内部错误] 集群:openeuler_cosmo,主机:xxx.xxx.xxx.xxx,日志类型:observer,日志文件:/data/ob_base_dir/oceanbase/log/observer.log,日志级别:ERROR,关键字=Unexpected internal error happen,错误码=4388,日志详情=[2024-08-23 10:33:56.493224] ERROR issue_dba_error (ob_log.cpp:1875) [5733][T1002_ReplaySrv][T1002][Y0-0000000000000000-0-0] [lt=3][errcode=-4388] Unexpected internal error happen, please checkout the internal errcode(errcode=-4013, file=“ob_memtable_context.h”, line_no=288, info=“callback memory failed”)。
【SOP系列 22 】——故障诊断第一步(自助诊断和诊断信息收集)
【备注】基于 LLM 和开源文档 RAG 的论坛小助手已开放测试,在发帖时输入 [@论坛小助手 ] 即可召唤小助手,欢迎试用!
论坛小助手
2024 年8 月 23 日 10:48
#3
根据您提供的信息,错误码 -4388
和错误信息 'callback memory failed'
表明 OBServer 在处理某个回调操作时遇到了内存相关的问题。这可能与内存分配失败有关,或者是内存管理方面出现了异常。
由于 obdiag
目前提供的场景中没有直接针对内存错误的具体场景,我们可以选择一个较为通用的场景来尝试收集相关信息,以便进一步分析问题的原因。
根因分析场景:
暂无适用的根因分析场景。
日志采集场景:
内存问题
日志采集命令:
obdiag gather scene run --scene=observer.memory
该命令会收集与内存相关的诊断信息,包括但不限于内存使用情况、进程状态等,这些信息有助于我们进一步定位问题。
提供更多信息:
为了更准确地定位问题,请您提供以下信息:
OBServer 版本 :您使用的 OceanBase Server 版本是多少?
系统配置 :您的测试环境的硬件配置如何?特别是内存大小和 CPU 规格。
负载情况 :当出现这个错误时,OBServer 正在执行什么操作?是否有特定的 SQL 语句或操作触发了这个问题?
错误频率 :这个问题是一次性的还是频繁出现?如果是频繁出现,大概多久会出现一次?
请您执行上述 obdiag
命令并提供收集到的日志文件,这将有助于我们进一步分析问题。
具体信息可参考以下文档:
附上敏捷诊断工具 obdiag 使用帮助链接
淇铭
2024 年8 月 23 日 17:45
#4
提供这个时间段的observer日志上传一下
麻烦把这两个信息查询一下 贴出来
查询500租户的整体内存: select /* MONITOR_AGENT */ sum(hold)/1024/1024/1024 as hold, sum(used)/1024/1024/1024 as used from GV$OB_MEMORY where tenant_id = 500 and mod_name <> ‘OB_KVSTORE_CACHE_MB’;
查看模块内存: select * from gv$ob_memory where tenant_id=500 order by used desc limit 20;