tidb panic异常怎么分析处理

一个好的问题描述有利于社区小伙伴更快帮你定位到问题,高效解决你的问题

【TiDB 使用环境】生产环境
【TiDB 版本】8.5.1

【遇到的问题:问题现象及影响】
tidb集群日志panic报错,集群状态显示是正常的,用户执行插入和替换的时候,用的官方提供的【没有记插入,有存在就更新的方法】会返回“An incomplete response was received from the server”,想问下,这要怎么看是什么原因导致:
[conn.go:1041] [“connection running loop panic”] [conn=657394826] [session_alias=] [lastSQL=commit] [err=“[executor:1317]Query execution was interrupted”] [stack=“github.com/pingcap/tidb/pkg/server.(*clientConn).Run.func1\n\t/workspace/source/tidb/pkg/server/conn.go:1044\nruntime.gopanic\n\t/usr/local/go/src/runtime/panic.go:785\ngithub.com/pingcap/tidb/pkg/util/memory.(*Tracker).Consume\n\t/workspace/source/tidb/pkg/util/memory/tracker.go:507\ngithub.com/pingcap/tidb/pkg/util/memory.(*Tracker).ReplaceBytesUsed\n\t/workspace/source/tidb/pkg/util/memory/tracker.go:793\ngithub.com/pingcap/tidb/pkg/session.(*session).SetMemoryFootprintChangeHook.func1\n\t/workspace/source/tidb/pkg/session/session.go:4334\ngithub.com/tikv/client-go/v2/internal/unionstore/art.(*ART).SetMemoryFootprintChangeHook.func1\n\t/root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20250113074216-d66e460ff577/internal/unionstore/art/art.go:580\ngithub.com/tikv/client-go/v2/internal/unionstore/arena.(*MemdbArena).OnMemChange\n\t/root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20250113074216-d66e460ff577/internal/unionstore/arena/arena.go:162\ngithub.com/tikv/client-go/v2/internal/unionstore/art.(*ART).Cleanup\n\t/root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20250113074216-d66e460ff577/internal/unionstore/art/art.go:528\ngithub.com/tikv/client-go/v2/internal/unionstore.(*artDBWithContext).Cleanup\n\t/root/go/pkg/mod/github.com/tikv/client-go/v2@v2.0.8-0.20250113074216-d66e460ff577/internal/unionstore/memdb_art.go:94\ngithub.com/pingcap/tidb/pkg/store/driver/txn.(*memBuffer).Cleanup\n\t/workspace/source/tidb/pkg/store/driver/txn/unionstore_driver.go:75\ngithub.com/pingcap/tidb/pkg/session.(*LazyTxn).cleanupStmtBuf\n\t/workspace/source/tidb/pkg/session/txn.go:152\ngithub.com/pingcap/tidb/pkg/session.(*LazyTxn).cleanup\n\t/workspace/source/tidb/pkg/session/txn.go:563\ngithub.com/pingcap/tidb/pkg/session.(*LazyTxn).reset\n\t/workspace/source/tidb/pkg/session/txn.go:558\ngithub.com/pingcap/tidb/pkg/session.(*LazyTxn).Commit\n\t/workspace/source/tidb/pkg/session/txn.go:434\ngithub.com/pingcap/tidb/pkg/session.(*session).commitTxnWithTemporaryData\n\t/workspace/source/tidb/pkg/session/session.go:670\ngithub.com/pingcap/tidb/pkg/session.(*session).doCommit\n\t/workspace/source/tidb/pkg/session/session.go:550\ngithub.com/pingcap/tidb/pkg/session.(*session).doCommitWithRetry\n\t/workspace/source/tidb/pkg/session/session.go:792\ngithub.com/pingcap/tidb/pkg/session.(*session).CommitTxn\n\t/workspace/source/tidb/pkg/session/session.go:922\ngithub.com/pingcap/tidb/pkg/session.autoCommitAfterStmt\n\t/workspace/source/tidb/pkg/session/tidb.go:290\ngithub.com/pingcap/tidb/pkg/session.finishStmt\n\t/workspace/source/tidb/pkg/session/tidb.go:252\ngithub.com/pingcap/tidb/pkg/session.runStmt\n\t/workspace/source/tidb/pkg/session/session.go:2319\ngithub.com/pingcap/tidb/pkg/session.(*session).ExecuteStmt\n\t/workspace/source/tidb/pkg/session/session.go:2150\ngithub.com/pingcap/tidb/pkg/server.(*TiDBContext).ExecuteStmt\n\t/workspace/source/tidb/pkg/server/driver_tidb.go:291\ngithub.com/pingcap/tidb/pkg/server.(*clientConn).handleStmt\n\t/workspace/source/tidb/pkg/server/conn.go:2026\ngithub.com/pingcap/tidb/pkg/server.(*clientConn).handleQuery\n\t/workspace/source/tidb/pkg/server/conn.go:1779\ngithub.com/pingcap/tidb/pkg/server.(*clientConn).dispatch\n\t/workspace/source/tidb/pkg/server/conn.go:1378\ngithub.com/pingcap/tidb/pkg/server.(*clientConn).Run\n\t/workspace/source/tidb/pkg/server/conn.go:1147\ngithub.com/pingcap/tidb/pkg/server.(*Server).onConn\n\t/workspace/source/tidb/pkg/server/server.go:741”]

1 个赞

报错因内存追踪器触发 panic,建议调大 tidb_mem_quota_query,拆分大事务。

1 个赞

另外,也检查下 TiDB 8.5.1 相关补丁是否已应用。

1 个赞

先临时调大内存限额,避免业务中断

查看当前内存限额配置(确认阈值)
show variables like '%mem_quota%';
show variables like '%server_memory_limit%';

关注一下Tidb的内存类参数配置大小情况

加内存

内存现在贵,不好买

确实是有一个大事务,业务给拆分了,想问下,这个8.5.1相关的补丁介绍在哪?怎么打这个补丁,是升级到8.5.1以上吗

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。