尊敬的 Flink CDC 社区开发者和维护者们,
您好! 我在使用 Flink CDC 进行数据同步的过程中遇到了一个问题,希望能得到社区的帮助和建议,判断这是否为当前版本的一个 bug。以下是问题的详细描述: 问题背景 我正在使用 Flink CDC 从源表同步数据,源表具有超过 100 个字段,数据量多达 200 万 + 条记录。在这个过程中,我使用的是 Flink 版本 1.17.2,Flink CDC 版本为 2.4.2。 问题描述 在测试过程中,我发现 TaskManager 的堆内存一直持续飙升,并且没有释放的迹象。即使任务已经完成部分数据的处理,堆内存的占用仍然居高不下,这可能会导致后续任务因为内存不足而失败。 已尝试的解决措施 为了解决这个问题,我进行了以下尝试,但均未取得明显效果: 1 调整 Flink 内存配置: taskmanager.memory.process.size: 20000m taskmanager.memory.jvm-overhead.fraction: 0.05 taskmanager.memory.managed.fraction: 0.05 taskmanager.memory.network.fraction: 0.05 2 调整 Flink SQL 增量快照读取大小:我在 Flink SQL 中尝试减小增量快照读取的大小,例如设置 scan.incremental.snapshot.chunk.size 为一个较小的值,但 TaskManager 堆内存仍然持续上升。 3 新版本测试情况(Flink 1.19.2 + Flink CDC 3.3.0) 当我将 Flink 升级到 1.19.2 版本,Flink CDC 升级到 3.3.0 版本,并且堆内存设置为 4g 时,发现 Task Heap 稳定使用在 500m 左右,并不会出现堆内存飙升的情况。 期望确认的问题 基于以上情况,我想向社区咨询,这种 TaskManager 堆内存一直飙升且不释放的情况是否是 Flink 1.17.2 和 Flink CDC 2.4.2 版本组合下的一个已知或未知的 bug?如果不是 bug,是否有其他的解决办法或者配置建议可以解决这个问题? 感谢社区的支持和帮助,期待您的回复。 祝好,