tidb 请求已经缩掉的kv

【 TiDB 使用环境】生产环境 /测试/ Poc
【 TiDB 版本】
tidb 4.0.14 。我缩掉了一个kv节点,pd-ctl里面已经看不到这个store了,为啥tidb还去请求这个下线的kv呢


【复现路径】做过哪些操作出现的问题
【遇到的问题:问题现象及影响】
【资源配置】
【附件:截图/日志/监控】

什么时候缩容完成的? tiup cluster display 一下看看

没有使用tiup


看起来是13:56分

那你怎么缩容的?

先将store的leader驱逐,然后执行pd-ctl 的 store delete 5016。等待kv变成tombstone之后,执行remove tombstone

这样的方式可能会导致集群的信息没有更新,所以tidb 还是会请求,时间也比较长,建议用tiup 的方式进行扩缩容https://docs.pingcap.com/zh/tidb/v4.0/scale-tidb-using-tiup

具体执行的什么命令,报的错是什么? 感觉像pd cache中region信息没更新

pd-ctl

  1. scheduler add evict-leader-scheduler-5106
  2. 等待leader归0
  3. store delete 5016
  4. 等待store变为 tombstone
  5. store remove-tombstone

pd和tidb我都重启了。没用的

看下彬彬大佬的这篇文章。

我把tidb节点,通过扩容缩容的方式都换了一遍。然后恢复了。
还有就是 tidb 层在查询时发现region miss时 是会向pd重新拉取数据所在的region信息的吧。难道没有拉取成功?如果拉取成功了,为啥下次还去请求 已经下掉了 的kv呢

【SOP 系列 24】TiKV/TiFlash 下线慢 看下这篇的内容

但是我这边是等到tombstone的,并非–force 强制下线的


监控看也是 等到store region count 归零的

怀疑会不会是有region cache相关bug没处理干净?

配置文件中有没有做对应的修改呢?看看是否需要在配置文件中注释掉一个kv节点

扩容缩容问题——专栏文章

扩容缩容问题——技术问答

扩容缩容问题——文档/SOP

扩缩容一些相关的内容可以参考下~