tidb error报错 encountered error

【 TiDB 使用环境】线上
【 TiDB 版本】 5.4
【遇到的问题】
tidb 报错error 如下 :
[terror.go:307] [“encountered error”] [error=“connection was bad”] [stack=“github.com/pingcap/tidb/parser/terror.Log\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ github.com/pingcap/tidb/server.(*clientConn).Run\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/conn.go:1125\ngithub.com/pingcap/tidb/server.(*Server).onConn\ \t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:548”]

【附件】

请提供各个组件的 version 信息,如 cdc/tikv,可通过执行 cdc version/tikv-server --version 获取。

需要排查下客户端具体报错信息,参考这里

我又发现了另外一个问题 ,我的 机器中有 2个 tidb 服务 ,前面是做的负载均衡 ,但是我发现这两个服务有重启的行为 ,具体error日志 如下 “
[deadlock.rs:773] [“leader client failed”] [err=“Grpc(RpcFinished(Some(RpcStatus { code: 1-CANCELLED, message: “Cancelled”, details: [] })))”]

什么情况下 会发生省 tidb-server oom 呢 ?或者如何防止oom

Out of memory: Kill process 7350 (tidb-server) score 652 or sacrifice child

  1. connection was bad 说明连接断开了,从 server.(*clientConn). 看,说明是应用发来的连接;
  2. 什么情况发生 tidb-server oom ,这个情况比较多,难以直接给出结论。需要找到根因,再行解决,最多的原因便是 SQL 计算需要大量内存,把 TiDB 打 OOM。可先从慢 SQL 入手,如无法找到根因,可采集一份 clinic,发到这里大家讨论分析。