Can't connect to MySQL server on '****' (10061 "Unknown error")

两个五亿数据的表关联查询 selet count(*) 出现(10061 “Unknown error”)。
tidb-server 16g 内存。查询过程中会先消耗内存,然后消耗硬盘。硬盘减少一些后出错。
日志:
[2020/08/08 15:41:42.486 +08:00] [ERROR] [domain.go:527] [“reload schema in loop, schema syncer restart failed”] [error=“context canceled”]
[2020/08/08 15:41:42.486 +08:00] [INFO] [domain.go:612] [“domain closed”] [“take time”=13.347337ms]
[2020/08/08 15:41:42.525 +08:00] [INFO] [printer.go:33] [“Welcome to TiDB.”] [“Release Version”=v4.0.3] [Edition=Community] [“Git Commit Hash”=0529b1b493e46aae71bbe34cbe24515a2eb1b47c] [“Git Branch”=heads/refs/tags/v4.0.3] [“UTC Build Time”=“2020-07-24 12:06:35”] [GoVersion=go1.13] [“Race Enabled”=false] [“Check Table Before Drop”=false] [“TiKV Min Version”=v3.0.0-60965b006877ca7234adaced7890d7b029ed1306]

麻烦提供一下以下信息:

  1. TiDB 集群版本
  2. tidb-server 节点数量
  3. 在 tidb-server 节点上执行 grep -i ‘out of memory’ /var/log/messages 看下 tidb-server 是否有 oom 的情况

tiflash,tikv 16核32g 200g ssg
tidb-1*2 8核16g 50 g 硬盘
tidb-2 32核32g 50 g 硬盘

有检查过 oom 的情况吗?

如果是 OOM 的情况可以参考:https://book.tidb.io/session4/chapter7/tidb-oom.html#74-tidb-oom-的常见原因

TiDB 4.0 中为了避免 OOM 的情况,为某些算子启动临时磁盘文件,当 SQL 使用内存超过 mem-quota-query 时 ,将某些算子从内存落到磁盘上,以减少内存使用的目的

设置了8G,观察内存,观察内存后观察硬盘。硬盘减少几G后就停了。

看报错是 tidb-server 之间在等待 schema version 同步的时候报错了

TiDB 中 DDL 相关介绍:

可以通过 admin show ddl jobs 命令确认一下,执行 SQL 当时有没有 DDL 语句正在执行。是否可以在无 DDL 执行的情况下,在尝试进行表关联查询,看是否还会出现一样的报错。