You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user-zh@flink.apache.org by claylin <10...@qq.com.INVALID> on 2021/10/29 03:33:46 UTC
关于作业失败从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里面存储了状态的有效时间,
不管怎么样也不应该触发已经过期的窗口计算,
请问大家有没有遇到过这种问题,怎么解决。
Re: 关于作业失败从checkpoint重启,触发了过期的窗口计算
Posted by liwei li <hi...@gmail.com>.
我是指添加ContinuousProcessingTimeTrigger或者ContinuousEventTimeTrigger。
这个不见得能解决你当前的问题,只是每隔一段时间触发一下窗口计算,得到一个中间结果缓存起来,无需等窗口结束再计算总量。
claylin <10...@qq.com.invalid> 于2021年10月31日周日 下午4:33写道:
> 添加continue trigger怎么理解
>
>
>
>
> ------------------ 原始邮件 ------------------
> 发件人:
> "user-zh"
> <
> hililiwei@gmail.com>;
> 发送时间: 2021年10月30日(星期六) 晚上10:58
> 收件人: "user-zh"<user-zh@flink.apache.org>;
>
> 主题: Re: 关于作业失败从checkpoint重启,触发了过期的窗口计算
>
>
>
> 可以试试添加使用Continuou Trigger
>
> Yun Tang <myasuka@live.com> 于2021年10月29日周五 下午5:56写道:
>
> > Hi,
> >
> > 先问个版本问题,你的Flink版本是1.3 而不是1.13?
> >
> >
> >
> Checkpoint里面会存储timer,所以重启之后会触发窗口的计算,但确实这种一天的窗口累计有点太多了,除非你的作业存在比较严重的反压,导致checkpoint内积攒了大量没有触发的timer。
> >
> > 祝好
> > 唐云
> >
> > ________________________________
> > From: claylin <1012539884@qq.com.INVALID>
> > Sent: Friday, October 29, 2021 11:33
> > To: user-zh <user-zh@flink.apache.org>
> > Subject: 关于作业失败从checkpoint重启,触发了过期的窗口计算
> >
> >
> >
> 作业失败后从checkpoint重启,重启后会触发之前已经过期的时间窗口计算,求问这个该怎么解决。我的运行环境是flink1.3/1.4+sql举例:作业每小时做一次checkpoint,状态设置了1小时过期,状态后端使用rocksdb,同时使用了一天的滚动时间窗口,然后今天15点30分重启,但是重启后会有昨天的窗口计算结果触发。
> > 按理说不应该会触发已经过期的窗口计算,而且flink 1.3/1.4
> > 下&nbsp;&nbsp;state.backend.rocksdb.timer-service.factory
> 这个配置默认是rocksdb,
> > 也就是说rocksdb里面存储了状态的有效时间,
> > 不管怎么样也不应该触发已经过期的窗口计算,
> > 请问大家有没有遇到过这种问题,怎么解决。
> >
回复: 关于作业失败从checkpoint重启,触发了过期的窗口计算
Posted by claylin <10...@qq.com.INVALID>.
添加continue trigger怎么理解
------------------ 原始邮件 ------------------
发件人: "user-zh" <hililiwei@gmail.com>;
发送时间: 2021年10月30日(星期六) 晚上10:58
收件人: "user-zh"<user-zh@flink.apache.org>;
主题: Re: 关于作业失败从checkpoint重启,触发了过期的窗口计算
可以试试添加使用Continuou Trigger
Yun Tang <myasuka@live.com> 于2021年10月29日周五 下午5:56写道:
> Hi,
>
> 先问个版本问题,你的Flink版本是1.3 而不是1.13?
>
>
> Checkpoint里面会存储timer,所以重启之后会触发窗口的计算,但确实这种一天的窗口累计有点太多了,除非你的作业存在比较严重的反压,导致checkpoint内积攒了大量没有触发的timer。
>
> 祝好
> 唐云
>
> ________________________________
> From: claylin <1012539884@qq.com.INVALID>
> Sent: Friday, October 29, 2021 11:33
> To: user-zh <user-zh@flink.apache.org>
> Subject: 关于作业失败从checkpoint重启,触发了过期的窗口计算
>
>
> 作业失败后从checkpoint重启,重启后会触发之前已经过期的时间窗口计算,求问这个该怎么解决。我的运行环境是flink1.3/1.4+sql举例:作业每小时做一次checkpoint,状态设置了1小时过期,状态后端使用rocksdb,同时使用了一天的滚动时间窗口,然后今天15点30分重启,但是重启后会有昨天的窗口计算结果触发。
> 按理说不应该会触发已经过期的窗口计算,而且flink 1.3/1.4
> 下&nbsp;&nbsp;state.backend.rocksdb.timer-service.factory 这个配置默认是rocksdb,
> 也就是说rocksdb里面存储了状态的有效时间,
> 不管怎么样也不应该触发已经过期的窗口计算,
> 请问大家有没有遇到过这种问题,怎么解决。
>
Re: 关于作业失败从checkpoint重启,触发了过期的窗口计算
Posted by liwei li <hi...@gmail.com>.
可以试试添加使用Continuou Trigger
Yun Tang <my...@live.com> 于2021年10月29日周五 下午5:56写道:
> Hi,
>
> 先问个版本问题,你的Flink版本是1.3 而不是1.13?
>
>
> Checkpoint里面会存储timer,所以重启之后会触发窗口的计算,但确实这种一天的窗口累计有点太多了,除非你的作业存在比较严重的反压,导致checkpoint内积攒了大量没有触发的timer。
>
> 祝好
> 唐云
>
> ________________________________
> From: claylin <10...@qq.com.INVALID>
> Sent: Friday, October 29, 2021 11:33
> To: user-zh <us...@flink.apache.org>
> Subject: 关于作业失败从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里面存储了状态的有效时间,
> 不管怎么样也不应该触发已经过期的窗口计算,
> 请问大家有没有遇到过这种问题,怎么解决。
>
Re: 关于作业失败从checkpoint重启,触发了过期的窗口计算
Posted by Yun Tang <my...@live.com>.
Hi,
先问个版本问题,你的Flink版本是1.3 而不是1.13?
Checkpoint里面会存储timer,所以重启之后会触发窗口的计算,但确实这种一天的窗口累计有点太多了,除非你的作业存在比较严重的反压,导致checkpoint内积攒了大量没有触发的timer。
祝好
唐云
________________________________
From: claylin <10...@qq.com.INVALID>
Sent: Friday, October 29, 2021 11:33
To: user-zh <us...@flink.apache.org>
Subject: 关于作业失败从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里面存储了状态的有效时间,
不管怎么样也不应该触发已经过期的窗口计算,
请问大家有没有遇到过这种问题,怎么解决。