一、问题描述
用户配置了高级参数很多,观察kafka增量数据不多,flink负载不高情况下两个checkpoint后才可查询到数据。 排查时hdfs有数据文件产生,但是mainfast文件中最新快照id没变化。
二、原因
经腾讯排查,用户参数指定高级参数execution.checkpointing.unaligned: true引起。
写入iceberg时,flink writer算子会把内存数据写出到文件,写出成功时提交状态给IcebergFilesCommitter,不加该参数时全部写成功Committer才被触发,生成快照。
加上该参数后写入乱序,存在文件还没写完,Committer就生成快照的情况,导致查询该快照没有最新数据。 数据不会丢失,这部分数据文件在下个快照后才可查询。
三、恢复
去除execution.checkpointing.unaligned: true参数,savepoint后启动。!!!存在启动不成功风险,我们用户尝试后可从savepoint恢复,但存在启动不了的风险。
标签:快照,Flink,查询,checkpoint,参数,iceberg,kafka From: https://www.cnblogs.com/robots2/p/18197778