Region is unavailable

客户端报 Region is Unavailable 错误

  • 1.1.1 Region is Unavailable 一般是由于 Region 在一段时间不可用(可能会遇到 TiKV server is busy;或者发送给 TiKV 的请求由于 not leader 或者 epoch not match 等原因被打回;又或者请求 TiKV 超时等),TiDB 内部会进行 backoff 重试。backoff 的时间超过一定阈值(默认 20s)后就会报错给客户端。如果 backoff 在阈值内,客户端对该错误无感知。
  • 1.1.2 多台 TiKV 同时内存不足 (OOM),导致 Region OOM 期间内没有 Leader,见案例 case-991
  • 1.1.3 TiKV 报 TiKV server is busy 错误,超过 backoff 时间,参考 4.3 客户端报 server is busy 错误TiKV server is busy 属于内部流控机制,后续可能不计入 backoff 时间。
  • 1.1.4 多台 TiKV 启动不了,导致 Region 没有 Leader。单台物理主机部署多个 TiKV 实例,一个物理机挂掉,由于 label 配置错误导致 Region 没有 Leader,见案例 case-228
  • 1.1.5 follower apply 落后,成为 Leader 之后把收到的请求以 epoch not match 理由打回,见案例 case-958(TiKV 内部需要优化该机制)。