开发者社区> 问答> 正文

关于作业失败从checkpoint重启,触发了过期的窗口计算

作业失败后从checkpoint重启,重启后会触发之前已经过期的时间窗口计算,求问这个该怎么解决。我的运行环境是flink1.3/1.4+sql举例:作业每小时做一次checkpoint,状态设置了1小时过期,状态后端使用rocksdb,同时使用了一天的滚动时间窗口,然后今天15点30分重启,但是重启后会有昨天的窗口计算结果触发。

按理说不应该会触发已经过期的窗口计算,而且flink 1.3/1.4 下  state.backend.rocksdb.timer-service.factory 这个配置默认是rocksdb, 也就是说rocksdb里面存储了状态的有效时间,

不管怎么样也不应该触发已经过期的窗口计算,

请问大家有没有遇到过这种问题,怎么解决。*来自志愿者整理的flink邮件归档

展开
收起
moonlightdisco 2021-12-02 17:16:51 772 0
1 条回答
写回答
取消 提交回答
  • 先问个版本问题,你的Flink版本是1.3 而不是1.13?

    Checkpoint里面会存储timer,所以重启之后会触发窗口的计算,但确实这种一天的窗口累计有点太多了,除非你的作业存在比较严重的反压,导致checkpoint内积攒了大量没有触发的timer。*来自志愿者整理的FLINK邮件归档

    2021-12-02 17:41:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载