TiFlash 副本无法剔除

【 TiDB 使用环境】生产环境
【 TiDB 版本】V7.5.0
【复现路径】因Tiflash路径存储路径错误,更换到正确的存储路径
【遇到的问题】在对tiflash副本剔除的时候,发现有几个表一直无法剔除,经排查后发现,表在tikv中的物理表已经删除,在tiflash上面还保留有,无法将tiflash中的表剔除。
执行 SELECT * FROM information_schema.tiflash_replica

问题:
1、如果此时直接缩容tiflash(就一个节点),是否会有问题
2、tikv中表已经删除,tiflash中还存在的这种情况产生的原因
3、怎样经tiflash中这样的表强制剔除(已重启过tiflash)

通过tiflash set replica 0 的命令就可以了,按你需要的表来做这个设定就可以了

有没有可能,需要等到 gc 后 :thinking:

同意楼上的,你看到了GC时间过后,tiflash上还有这几个表吗

等待GC,观察一下看看

我调整下GC时间试试

剔除不掉的

如果TiFlash不是很重要业务上使用也不多的话,可以直接缩容试试

扩缩容处理下,剔除TiKV中的表应该先删除TiFlash副本吧。

进一步排查是 ALTER DATABASE yhh_bss SET TIFLASH REPLICA 1; 添加副本的收,会将yhh_bss 表中的视图在tiflash中显示, ALTER DATABASE yhh_bss SET TIFLASH REPLICA 0 的时候视图不会被移除。目前已经强制将tiflash节点剔除。查询SELECT * FROM information_schema.tiflash_replica 还是存在。

1 个赞

意思是 yhh_bss下有视图,当添加副本的时候把视图也加到tiflash里面去了?
这岂不是一个tiflash上可用的物化视图?
缺点就是删不掉?

要是真的,可太好玩了。
虽然是个bug,要能实现,能玩的东西还挺多的。

1 个赞

目前反映出来的问题就是这样的,强制下线成功了,不强制的话一直是pending offline的状态。后面又在扩了一台tiflash。yhh_bss 在加回来不影响使用。视图还是在。按照道理来说是不会出现这个这种情况。视图是加不到tiflash中的。有一种可能是研发这边开始确实创建了物理表,后面删除后创建了同名的视图。

1 个赞

gc时间过了也不行么?难道又是bug啊

tiflash的日志有什么信息嘛?

如果是bug需要复现步骤,或者错误日志。不然也很难修复。

缩容时,日志没有错误信息。已经强制缩容了。

1 个赞


手动删除可以了吗

已通过强制下线tiflash处理完成

1 个赞

此话题已在最后回复的 7 天后被自动关闭。不再允许新回复。