一直在报TiKV_GC_can_not_work,但是查看日志又未发现异常

辛苦各位Tidb大佬协助定位一下原因。

【 TiDB 使用环境】生产
【概述】线上突然报警 TiKV_GC_can_not_work,但是查看日志又未发现异常





【背景】未做其它操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】5.2.1
【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

  • 对应模块日志(包含问题前后1小时日志)
2 个赞

参考这里试一下:

另外,感觉5.0.1的这个问题比较多

2 个赞

我是用的5.2.1的版本。

2 个赞

可以参考上面的帖子,另外,pd-ctl 里面有个命令可以看 gc 相关的信息(help 下,最后一个命令),或者直接看 tidb- server 日志,会记录为啥不 GC

2 个赞

gc safe point 是正常往后推移的,tidb server gc相关的日志也没有任何异常的。
%E5%9B%BE%E7%89%87
%E5%9B%BE%E7%89%87

哪 GC 没问题啊,可以看一下 告警规则的逻辑是啥,记得很简单

规则是这一个:
sum(increase(tikv_gcworker_gc_tasks_vec{task=“gc”}[1d])) < 1 and sum(increase(tikv_gc_compaction_filter_perform[1d])) < 1

@spc_monkey 是不是因为数据量太小了,所以rocksdb的compaction不执行么??

1 个赞

数据量如果没有变化 rocksdb 的 compaction 会进入稳定态。即会出现 1 天内没有 任何 compaction 任务触发

1 个赞

条件是 and,感觉第一个就不满足,这个问题建议下次还报的时候,按照上面的方式看一下(其实 tidb-server 日志,直接过滤 GC 关键字就ok)

sum(increase(tikv_gcworker_gc_tasks_vec{task=“gc”}[1d])) < 1 这个是一直为0的,原因是我们现在用的5.2.1的版本已经取消了单独线程gc task做gc的操作。估计还是 @北京大爷说的compaction不执行的原因导致的

:+1:

:+1:学习了

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