徐衡

【私有部署】mdworkflow 库 kafka_producerRecord 表仅 4.5 万条却占 17GB,能否清理?

徐衡Lv.4悟道 发布于 最后回复 私有部署
1 回复78 浏览

【环境】

  • 明道云 HAP 私有部署单机版,应用版本 7.1.1(mingdaoyun-hap:7.1.1 + sc 3.2.0)
  • MongoDB 4.4.29 部署在宿主机(带认证),工作流数据在 mdworkflow 库
  • 系统每日工作流执行量约 36 万次,业务运行正常

【现象】
按照官方文档《日志数据清理》(mingdaoyun-archivetools 1.0.5)做日志清理时,发现 mdworkflow 库的 kafka_producerRecord 表体积异常大:

  • 记录条数:45,592
  • 占用空间:17.1 GB(storageSize + totalIndexSize)
  • 平均每条约 380 KB

查看记录时间范围:

  • 最早一条:____(发帖前查好填这里)
  • 最新一条:____

用命令复查方式:
db.kafka_producerRecord.find().sort({_id:1}).limit(1) // 最早
db.kafka_producerRecord.find().sort({_id:-1}).limit(1) // 最新

该表不在官方清理文档列出的 mdworkflow 可清理表清单中(wf_instance / wf_subInstanceActivity / wf_subInstanceCallback / wf_instanceExtends / 各类 *_catch),所以不敢贸然处理,先来求证。

【想请教的问题】

  1. kafka_producerRecord 存的是什么数据?正常应该保留多久、由什么机制清理?
  2. 只有 4.5 万条却占 17GB,是否说明有什么消费/清理机制没有正常工作?需要排查什么?
  3. 这张表能否安全清理?如果可以,推荐方式是哪种:
    a) 用 archivetools 按 90 天保留删除;
    b) 手工删除某时间之前的记录;
    c) 整表 drop 或 truncate。
    清理会不会影响正在执行的工作流或消息投递?

【已做的相关配置】

  • 已按官方文档部署应用数据清理(dataclean,每日运行)
  • 已按官方文档部署 archivetools(工作流/工作表日志 90 天保留,每日运行)

如需 db.kafka_producerRecord.stats() 完整输出或其他信息,我可以补充。谢谢!