Processing-Time Timers and Checkpoint State

classic Classic list List threaded Threaded
5 messages Options
Reply | Threaded
Open this post in threaded view
|

Processing-Time Timers and Checkpoint State

Scott Kidder
Are processing-time timers retained in checkpoint & savepoint state and run if a job is restarted? It's possible that the time at which timer was intended to trigger at passes while the job is in the middle of being restarted. Are processing-time timers persisted at all?

Thanks!

--Scott Kidder
Reply | Threaded
Open this post in threaded view
|

Re: Processing-Time Timers and Checkpoint State

Stephan Ewen
Hi!

Yes, the processing time timers are persisted in the checkpoint and restored on recovery. If a timer is in the past, it should fire immediately after recovery.

I think there may be a bug in the 1.1 branch that requires at least one more time to be registered before the restored timers fire. 1.2 should behave well.


+ Aljoscha and Kostas - for more details

Best,
Stephan


On Thu, Dec 29, 2016 at 10:36 PM, Scott Kidder <[hidden email]> wrote:
Are processing-time timers retained in checkpoint & savepoint state and run if a job is restarted? It's possible that the time at which timer was intended to trigger at passes while the job is in the middle of being restarted. Are processing-time timers persisted at all?

Thanks!

--Scott Kidder

Reply | Threaded
Open this post in threaded view
|

Re: Processing-Time Timers and Checkpoint State

Scott Kidder
Excellent, thank you Stephan!

On Fri, Dec 30, 2016 at 6:58 AM, Stephan Ewen <[hidden email]> wrote:
Hi!

Yes, the processing time timers are persisted in the checkpoint and restored on recovery. If a timer is in the past, it should fire immediately after recovery.

I think there may be a bug in the 1.1 branch that requires at least one more time to be registered before the restored timers fire. 1.2 should behave well.


+ Aljoscha and Kostas - for more details

Best,
Stephan


On Thu, Dec 29, 2016 at 10:36 PM, Scott Kidder <[hidden email]> wrote:
Are processing-time timers retained in checkpoint & savepoint state and run if a job is restarted? It's possible that the time at which timer was intended to trigger at passes while the job is in the middle of being restarted. Are processing-time timers persisted at all?

Thanks!

--Scott Kidder


Reply | Threaded
Open this post in threaded view
|

Re: Processing-Time Timers and Checkpoint State

Aljoscha Krettek
I just verified that this does indeed work on master and the Flink 1.2 branch. I'm also pushing a test that verifies this.

Stephan is right that this doesn't work on Flink 1.1? Is that critical for you, if yes, then we should think about pushing out another Flink 1.x bugfix release.

Cheers,
Aljoscha

On Fri, 30 Dec 2016 at 19:05 Scott Kidder <[hidden email]> wrote:
Excellent, thank you Stephan!

On Fri, Dec 30, 2016 at 6:58 AM, Stephan Ewen <[hidden email]> wrote:
Hi!

Yes, the processing time timers are persisted in the checkpoint and restored on recovery. If a timer is in the past, it should fire immediately after recovery.

I think there may be a bug in the 1.1 branch that requires at least one more time to be registered before the restored timers fire. 1.2 should behave well.


+ Aljoscha and Kostas - for more details

Best,
Stephan


On Thu, Dec 29, 2016 at 10:36 PM, Scott Kidder <[hidden email]> wrote:
Are processing-time timers retained in checkpoint & savepoint state and run if a job is restarted? It's possible that the time at which timer was intended to trigger at passes while the job is in the middle of being restarted. Are processing-time timers persisted at all?

Thanks!

--Scott Kidder


Reply | Threaded
Open this post in threaded view
|

Re: Processing-Time Timers and Checkpoint State

Scott Kidder
I too was able to confirm that the issue was fixed in the 1.2 release-candidate 0 (zero) tag. I was unable to get it working with 1.1.4, but with 1.2 it worked without any additional modifications.

Best,

--Scott Kidder

On Mon, Jan 9, 2017 at 7:03 AM, Aljoscha Krettek <[hidden email]> wrote:
I just verified that this does indeed work on master and the Flink 1.2 branch. I'm also pushing a test that verifies this.

Stephan is right that this doesn't work on Flink 1.1? Is that critical for you, if yes, then we should think about pushing out another Flink 1.x bugfix release.

Cheers,
Aljoscha

On Fri, 30 Dec 2016 at 19:05 Scott Kidder <[hidden email]> wrote:
Excellent, thank you Stephan!

On Fri, Dec 30, 2016 at 6:58 AM, Stephan Ewen <[hidden email]> wrote:
Hi!

Yes, the processing time timers are persisted in the checkpoint and restored on recovery. If a timer is in the past, it should fire immediately after recovery.

I think there may be a bug in the 1.1 branch that requires at least one more time to be registered before the restored timers fire. 1.2 should behave well.


+ Aljoscha and Kostas - for more details

Best,
Stephan


On Thu, Dec 29, 2016 at 10:36 PM, Scott Kidder <[hidden email]> wrote:
Are processing-time timers retained in checkpoint & savepoint state and run if a job is restarted? It's possible that the time at which timer was intended to trigger at passes while the job is in the middle of being restarted. Are processing-time timers persisted at all?

Thanks!

--Scott Kidder