Thanks,Xiangyu.
As you suggested,I've read the comments from 'ExternallyInducedSource.java' and 
also taken a look into the source code of The legacy source of Pravega Flink 
connector,I've figured it out now.
much appreciated.




------------------ ???????? ------------------
??????:                                                                         
                                               "xiangyu feng"                   
                                                                 
<xiangyu...@gmail.com&gt;;
????????:&nbsp;2023??9??19??(??????) ????10:25
??????:&nbsp;"??????"<243816...@qq.com&gt;;
????:&nbsp;"user@flink.apache.org"<user@flink.apache.org&gt;;
????:&nbsp;Re: flink design pazzule



Hi Zhuliang,

I would suggest u reading the comments from 
'ExternallyInducedSource.java'[1].&nbsp;


"Sources that implement this interface do not trigger checkpoints when 
receiving a
trigger message from the checkpoint coordinator, but when their input 
data/events
indicate that a checkpoint should be triggered.

Since sources cannot simply create a new checkpoint on their own, this mechanism
always goes together with a {@link WithMasterCheckpointHook hook on the master 
side}.
In a typical setup, the hook on the master tells the source system (for example
the message queue) to prepare a checkpoint. The exact point when the checkpoint 
is
taken is then controlled by the event stream received from the source, and 
triggered
by the source function (implementing this interface) in Flink when seeing the 
relevant
events."



[1]&nbsp;https://github.com/apache/flink/blob/master/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/checkpoint/ExternallyInducedSource.java



Hope this helps u.


Thx,
Xiangyu

?????? <243816...@qq.com&gt; ??2023??9??19?????? 11:03??????

Could any one tell me what the purpose and&nbsp;Philosophy of designing flink 
checkpoint master hook?
Thanks.

Reply via email to