【环境】
- 明道云 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),所以不敢贸然处理,先来求证。
【想请教的问题】
- kafka_producerRecord 存的是什么数据?正常应该保留多久、由什么机制清理?
- 只有 4.5 万条却占 17GB,是否说明有什么消费/清理机制没有正常工作?需要排查什么?
- 这张表能否安全清理?如果可以,推荐方式是哪种:
a) 用 archivetools 按 90 天保留删除;
b) 手工删除某时间之前的记录;
c) 整表 drop 或 truncate。
清理会不会影响正在执行的工作流或消息投递?
【已做的相关配置】
- 已按官方文档部署应用数据清理(dataclean,每日运行)
- 已按官方文档部署 archivetools(工作流/工作表日志 90 天保留,每日运行)
如需 db.kafka_producerRecord.stats() 完整输出或其他信息,我可以补充。谢谢!
根据我对知识库的检索,抱歉,知识库中没有关于
kafka_producerRecord表的具体说明和清理策略的相关内容。这个问题涉及到私有部署底层 MongoDB 数据库的表结构和运维知识,属于比较技术性的内容。从现有检索结果来看,帮助文档主要涵盖产品功能使用说明,未包含私有部署数据库表的详细清理指南。
建议处理方式
基于您提供的现象和一般运维经验,给您以下建议供参考(请注意这些并非官方文档确认的内容):
1. 关于 kafka_producerRecord 表的推测
从表名来看,这应该是工作流引擎用于 Kafka 消息生产时的临时记录表,可能用于:
2. 数据异常的可能原因
4.5 万条记录占用 17GB(平均每条 380KB),这个单条记录体积确实异常大,可能原因包括:
3. 建议的排查步骤
抽样查看记录内容:
检查 Kafka 服务状态:确认 Kafka 服务是否正常运行、消费者组是否正常消费
查看系统日志:检查 HAP 服务日志中是否有 Kafka 相关的错误信息
4. 清理建议
在官方未明确说明前,不建议直接清理该表。建议:
参考文档:
如需获取该表的官方清理方案,建议通过明道云技术支持渠道提交工单,由产品技术团队确认后再进行操作,以避免影响系统正常运行。
历史工单参考
注: 以下内容为历史工单 AI 总结,并去除了敏感信息。
1.工作流消费组持续重平衡导致流程丢失(已解决/已关闭)
2.MongoDB hooks_catch 集合数据量激增导致磁盘使用率异常升高(已解决/已关闭)
3.私有部署工作流 Kafka 消费者停止消费(已解决/已关闭)