GC动作不进行

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】场景+问题概述
查看数据库GC时间,发现停留在20220322,一直不动

看tidb.log里面有如下提示信息:
last safe point is later than current one. No need to gc. this might be caused by manually enlarging gc lifetime.

这个是说当前集群没有必要进行GC操作吗?
如果数据库一直没有数据变化,是不是GC操作就不进行了??

【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】
【附件】

  1. TiUP Cluster Display 信息

  2. TiUP Cluster Edit Config 信息

  3. TiDB- Overview 监控

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

检查一下参数: tidb_gc_enable

  • 作用域:全球
  • 默认值: ON
  • 这个变量用于控制是否启用 TiKV 的垃圾回收 (GC) 机制。如果不启用 GC 机制,系统将不再清理旧版本的数据,因此会有损系统性能

我的是4.0.6版本,没有这个参数。我发的图片里面是相关参数,应该是开启的。

有调整过 GC life time吗

调整过,之前调整为24h,这个很久之前调整的

有类似于cdc这种同步吗,pd-ctl 看下有 service-gc-safepoint命令不

部署过CDC,后来我把cdc组件又删除了。通过pd-ctl查看service-gc-safepoint信息如下:
{
“service_gc_safe_points”: [
{
“service_id”: “gc_worker”,
“expired_at”: -9223372035206001214,
“safe_point”: 432193718351036416
},
{
“service_id”: “ticdc”,
“expired_at”: 1648797710,
“safe_point”: 431538456789516291
}
],
“gc_safe_point”: 431964927834456064
}

发现一个"service_id": “ticdc”,是不是他的原因?

pd-ctl tso 431538456789516291 基本就是这个cdc的问题

那我怎么处理呀?cdc组件我早就卸载了。

cdc cli还能看到任务不

有,能看到任务,但是删不掉,报错“owner not found”

changefeed remove 有–force选项试试

我把cdc重新安装了一下,然后任务可以删除了。

删除cdc的任务,gc恢复正常了。

有两个问题:
1、如果平时cdc出现问题,是不是就会卡主gc的safepoint呀?
2、正常我觉得删除CDC组件,这个任务应该能够自动删除,但是看来不是。

1 个赞

1、 service_gc_safepoint就是为了比如cdc br等保障gc时间不超过这些
2、 删除组件还是按先删任务再删组件顺序吧

1 个赞

:+1::+1:

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