【 TiDB 使用环境】测试
【 TiDB 版本】
集群版本V4.0.7–4.0.8
【复现路径】
集群节点TIKV宕机下线,在没有直接人工干预,TIKV半个月还没下线成功,测试环境业务验证SQL提示region is unavailable,登陆tidb卡顿或操作show processlist非常耗时,操作部分命令提示异常9005,通过监控观察发现:
1、通过观察负载不高
2、有存储告警
3、通过dashboard有频率比较高的SQL操作(查询也会失败)
3、有执行add index
4、统计信息在频繁更新信息
此时执行admin show 也是直接报错region is unavailable提示信息。
【过程处理-1】
1、人工干预驱逐
2、扩容tikv
3、调整统计信息更新时间
4、降低DDL并发度
【过程处理-2】
1、通过以上操作,集群经过一段时间,恢复可用,执行admin show ddl 可以正常出结果,取消DDL操作
2、升级到4.0.8
【过程处理-3】
集群恢复可以用,慢慢等待节点宕机节点变墓碑
【过程处理-4】
3月27号关注pd:
提示依然还没下线成功,查询异常store上的region情况,如图:
查询region号,展示region信息:
根据之前遇到的处理经验,执行了删除cache操作:
登陆pd-ctl查看region是否恢复状态:

一直显示null,重启了2个peer节点依然一样,节点日志显示:
不过现在监控store状态展示已经恢复:
,节点也显示 “state_name”: “Tombstone”
【疑问】
删除的region信息无法恢复回来» region 102207
null,2个节点信息如上图,是否可以执行unsafe操作呢?