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"
<[email protected]>;
????????: 2023??9??19??(??????) ????10:25
??????: "??????"<[email protected]>;
????: "[email protected]"<[email protected]>;
????: Re: flink design pazzule
Hi Zhuliang,
I would suggest u reading the comments from
'ExternallyInducedSource.java'[1].
"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] 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
?????? <[email protected]> ??2023??9??19?????? 11:03??????
Could any one tell me what the purpose and Philosophy of designing flink
checkpoint master hook?
Thanks.