客户端报 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 内部需要优化该机制)。