A question regarding to the checkpoint mechanism

2016-10-14 Thread Li Wang
Hi all, As far as I know, a stateful operator will checkpoint its current state to a persistent storage when it receives all the barrier from all of its upstream operators. My question is that does the operator doing the checkpoint need to pause processing the input tuples for the next batch un

Re: A question regarding to the checkpoint mechanism

2016-10-16 Thread Li Wang
Hi All, Any feedback is highly appreciated. Thanks. Li > On Oct 15, 2016, at 11:17 AM, Li Wang wrote: > > Hi all, > > As far as I know, a stateful operator will checkpoint its current state to a > persistent storage when it receives all the barrier from all of its upstream > operators. My q

Re: A question regarding to the checkpoint mechanism

2016-10-16 Thread Tzu-Li (Gordon) Tai
Hi! No, the operator does not need to pause processing input records while the checkpointing of its state is in progress. The checkpointing of operator state is asynchronous. The operator state does not need to be immutable, since its a copy of the snapshot state that’s  checkpointed. Regards,

Re: A question regarding to the checkpoint mechanism

2016-10-16 Thread Li Wang
Hi Gordon, Thanks for your prompt reply. So do you mean when we are about to checkpoint the state of an operator, we first copy its state and then checkpoint the copied state while the operator continues processing? Thanks, Li > On Oct 17, 2016, at 11:10 AM, Tzu-Li (Gordon) Tai wrote: > > H

Re: A question regarding to the checkpoint mechanism

2016-10-16 Thread Tzu-Li (Gordon) Tai
Users don’t need to explicitly make a copy of the state. Take checkpointing instance fields as operator state for example [1]. You simply return your current state in `snapshotState()`, and Flink will take care of snapshotting and persisting it to the state backend. The persisting process does no