INFORMATION_SCHEMA.tables query报错 ERROR 9005

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】: TiDB-v4.0.0-beta-282-g4af313c2f
  • 【问题描述】:无法向INFORMATION_SCHEMA.tables发起query。

错误如下:
MySQL [INFORMATION_SCHEMA]> select count(*) from tables;
ERROR 9005 (HY000): Region is unavailable

其他几个INFORMATION_SCHEMA里的表能select到数据,只有tables表报错。

脚本扫描结果:
{‘tidb_log_dir’: ‘{{ deploy_dir }}/log’, ‘dummy’: None, ‘tidb_port’: 4000, ‘tidb_status_port’: 10080, ‘tidb_cert_dir’: ‘{{ deploy_dir }}/conf/ssl’}

系统信息
+---------------+------------------+
|      Host     |     Release      |
+---------------+------------------+
|     tidb4     | 5.4.0-37-generic |
| cctdata-tidb1 | 5.4.0-37-generic |
|     tidb5     | 5.4.0-37-generic |
|     tidb6     | 5.4.0-37-generic |
+---------------+------------------+
TiDB 集群信息
+----------------------------------------+--------------+------+----+------+
|              TiDB_version              | Clu_replicas | TiDB | PD | TiKV |
+----------------------------------------+--------------+------+----+------+
| 5.7.25-TiDB-v4.0.0-beta-282-g4af313c2f |      3       |  1   | 1  |  3   |
+----------------------------------------+--------------+------+----+------+
集群节点信息
+------------+-------------+
|  Node_IP   | Server_info |
+------------+-------------+
| instance_0 |     tikv    |
| instance_1 |     tikv    |
| instance_2 |     tikv    |
| instance_3 |   tidb+pd   |
+------------+-------------+
容量 & region 数量
+---------------------+-----------------+--------------+
| Storage_capacity_GB | Storage_uesd_GB | Region_count |
+---------------------+-----------------+--------------+
|       2711.38       |      112.05     |    10908     |
+---------------------+-----------------+--------------+
QPS
+---------+----------------+-----------------+
| Clu_QPS | Duration_99_MS | Duration_999_MS |
+---------+----------------+-----------------+
|   0.00  |      7.92      |       7.99      |
+---------+----------------+-----------------+
热点 region 信息
+-------------+----------+-----------+
|    Store    | Hot_read | Hot_write |
+-------------+----------+-----------+
| store-24187 |    0     |     0     |
| store-21001 |    0     |     0     |
| store-24188 |    0     |     0     |
|   store-1   |    0     |     0     |
|   store-5   |    0     |     0     |
|   store-4   |    0     |     0     |
+-------------+----------+-----------+
磁盘延迟信息
+--------+------------+-------------+--------------+
| Device |  Instance  | Read_lat_MS | Write_lat_MS |
+--------+------------+-------------+--------------+
|  dm-0  | instance_2 |     nan     |     5.83     |
|  dm-0  | instance_1 |     nan     |     4.13     |
|  dm-0  | instance_0 |     nan     |     3.60     |
|  dm-1  | instance_2 |     nan     |     nan      |
|  dm-1  | instance_1 |     nan     |     nan      |
|  dm-1  | instance_0 |     nan     |     nan      |
|  sr0   | instance_2 |     nan     |     nan      |
|  sr0   | instance_3 |     nan     |     nan      |
|  sr0   | instance_1 |     nan     |     nan      |
|  sr0   | instance_0 |     nan     |     nan      |
|  xvda  | instance_2 |     nan     |     4.58     |
|  xvda  | instance_3 |     nan     |     0.64     |
|  xvda  | instance_1 |     nan     |     3.56     |
|  xvda  | instance_0 |     nan     |     3.33     |
+--------+------------+-------------+--------------+

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

  1. 麻烦检查一下 tidb.log 以及 tikv.log 是否有相关的报错。
  2. 麻烦提供一下 explainselect count(*) from information_schema.tables; 的结果。

1.1 tidb.log:

[2020/09/13 12:32:52.462 +08:00] [WARN] [backoff.go:309] ["regionMiss backoffer.maxSleep 20000ms is exceeded, errors:\nmessage:\"EpochNotMatch current epoch of region 35873 is conf_ver: 335 version: 320, but you sent conf_ver: 336 version: 328\" epoch_not_match:<current_regions:<id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\307\\327\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:320 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 > > current_regions:<id:35817 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\301\\303\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:322 > peers:<id:35818 store_id:21001 > peers:<id:35819 store_id:24188 > peers:<id:35820 store_id:24187 > > >  at 2020-09-13T12:32:51.459600997+08:00\nregion epoch is ahead of tikv. rpc ctx: region ID: 35873, meta: id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\027_r\\200\\000\\000\\000\\000\\000\\025\\220\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\031\" region_epoch:<conf_ver:336 version:328 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 > , peer: id:35874 store_id:21001 , addr: 10.6.55.105:20160, idx: 0, currentRegions: [id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\307\\327\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:320 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 >  id:35817 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\301\\303\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:322 > peers:<id:35818 store_id:21001 > peers:<id:35819 store_id:24188 > peers:<id:35820 store_id:24187 > ] at 2020-09-13T12:32:51.961937692+08:00\nmessage:\"EpochNotMatch current epoch of region 35873 is conf_ver: 335 version: 320, but you sent conf_ver: 336 version: 328\" epoch_not_match:<current_regions:<id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\307\\327\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:320 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 > > current_regions:<id:35817 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\301\\303\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:322 > peers:<id:35818 store_id:21001 > peers:<id:35819 store_id:24188 > peers:<id:35820 store_id:24187 > > >  at 2020-09-13T12:32:52.46246112+08:00"]
[2020/09/13 12:33:02.703 +08:00] [WARN] [backoff.go:309] ["regionMiss backoffer.maxSleep 40000ms is exceeded, errors:\nmessage:\"EpochNotMatch current epoch of region 35873 is conf_ver: 335 version: 320, but you sent conf_ver: 336 version: 328\" epoch_not_match:<current_regions:<id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\307\\327\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:320 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 > > current_regions:<id:35817 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\301\\303\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:322 > peers:<id:35818 store_id:21001 > peers:<id:35819 store_id:24188 > peers:<id:35820 store_id:24187 > > >  at 2020-09-13T12:33:01.700652562+08:00\nregion epoch is ahead of tikv. rpc ctx: region ID: 35873, meta: id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\027_r\\200\\000\\000\\000\\000\\000\\025\\220\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\031\" region_epoch:<conf_ver:336 version:328 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 > , peer: id:35874 store_id:21001 , addr: 10.6.55.105:20160, idx: 0, currentRegions: [id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\307\\327\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:320 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 >  id:35817 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\301\\303\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:322 > peers:<id:35818 store_id:21001 > peers:<id:35819 store_id:24188 > peers:<id:35820 store_id:24187 > ] at 2020-09-13T12:33:02.20288498+08:00\nmessage:\"EpochNotMatch current epoch of region 35873 is conf_ver: 335 version: 320, but you sent conf_ver: 336 version: 328\" epoch_not_match:<current_regions:<id:35873 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\307\\327\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:320 > peers:<id:35874 store_id:21001 > peers:<id:35875 store_id:24188 > peers:<id:35876 store_id:24187 > > current_regions:<id:35817 start_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\301\\303\\000\\000\\000\\000\\000\\372\" end_key:\"t\\200\\000\\000\\000\\000\\000\\000\\377\\027_r\\200\\000\\000\\000\\000\\377\\010\\304^\\000\\000\\000\\000\\000\\372\" region_epoch:<conf_ver:335 version:322 > peers:<id:35818 store_id:21001 > peers:<id:35819 store_id:24188 > peers:<id:35820 store_id:24187 > > >  at 2020-09-13T12:33:02.703346592+08:00"]
[2020/09/13 12:33:02.823 +08:00] [WARN] [backoff.go:309] ["regionMiss backoffer.maxSleep 40000ms is exceeded, errors:\nmessage:\"\\\"[components/raftstore/src/store/peer.rs:1942]: [region 34813] 34815 can not read index due to merge\\\"\"  at 2020-09-13T12:33:01.817455793+08:00\nmessage:\"\\\"[components/raftstore/src/store/peer.rs:1942]: [region 34813] 34815 can not read index due to merge\\\"\"  at 2020-09-13T12:33:02.320423147+08:00\nmessage:\"\\\"[components/raftstore/src/store/peer.rs:1942]: [region 34813] 34815 can not read index due to merge\\\"\"  at 2020-09-13T12:33:02.823069355+08:00"]

1.2 没找到tikv的log。

2 explain:


MySQL [INFORMATION_SCHEMA]> explain select count(*) from tables;
+-----------------------+----------+------+---------------------------+
| id                    | estRows  | task | operator info             |
+-----------------------+----------+------+---------------------------+
| HashAgg_5             | 1.00     | root | funcs:count(1)->Column#24 |
| └─MemTableScan_10     | 10000.00 | root |                           |
+-----------------------+----------+------+---------------------------+
2 rows in set (0.086 sec)
  • 麻烦再执行一次 select count(*) from information_schema.tables;
  • 如果报错一样的错误:ERROR 9005 (HY000): Region is unavailable 。 辛苦把 tidb.log 以及 tidb_stderr.log 都上传一下。

刚才试了一下,还是报一样的错。
tidb_stderr.log (498.3 KB)
tidb.log

请使用正式版本, TiDB-v4.0.0-beta-282-g4af313c2f ,不要用beta版本,升级后试试,多谢。

好的,重启几次之后恢复正常了,谢谢

1赞

:handshake: