bug-11217: 多key GC调用导致GC不工作,大量历史版本残留
影响版本
- v5.0.0-v5.0.4
- v5.1.0-v5.1.2
- v5.2.0-v5.2.2
issue: https://github.com/tikv/tikv/issues/11217
TiKV GcKeys task doesn’t work when called with multiple keys (at least in 5.1 but I think for everything)
现象和确认方法
- 部分 scan 相关操作执行慢,集群中有比较多的 UPDATE/DELETE 语句执行
- EXPLAIN ANALYZE 的 scan detail 中显示
key_skipped_count
远远多于total_process_keys
或者 slow log 中key_skipped_count
远远多于total_process_keys
解决方案
- 设置
gc.enable-compaction-filter: false
以关闭 TiKV 的 compaction filter GC,使用旧的 GC 模式进行多版本 GC - 升级到新版本,如上所述选择发行版最新的发布版本