Github user fhueske commented on a diff in the pull request:

    https://github.com/apache/flink/pull/5887#discussion_r183710303
  
    --- Diff: docs/dev/stream/operators/process_function.md ---
    @@ -322,3 +322,26 @@ ctx.timerService.registerEventTimeTimer(coalescedTime)
     {% endhighlight %}
     </div>
     </div>
    +
    +### Fault Tolerance
    +
    +Timers registered within `ProcessFunction` are fault tolerant.
    +
    +Timers registered within `ProcessFunction` will be checkpointed by Flink. 
Upon restoring, timers that are checkpointed
    +from the previous job will be restored on whatever new instance is 
responsible for that key.
    +
    +#### Processing Time Timers
    +
    +For processing timer timers, note that the firing time of a timer is an 
absolute value of when to fire.
    +
    +What this means is that if a checkpointed timer’s firing processing 
timestamp is t (which is basically the registering
    +time + configured trigger time), then it will also fire at processing 
timestamp t on the new instance. Therefore, you
    +should be aware of out-of-sync clocks between the 2 instances.
    +
    +Another thing to note is that if the restored job isn’t running at t 
(when the timer is supposed to fire), then on restore,
    +that timer is fired immediately.
    +
    +#### Event Time Timers
    +
    +For event time timers, given that Flink does not checkpoint watermarks, a 
restored event time timer will fire when the
    --- End diff --
    
    The fact that Flink doesn't checkpoint watermarks is not really related to 
and does not affect the behavior of timers. It is useful information but I 
don't think we need to mention it here.
    
    It's sufficient to mention that et-timer fire when the wm passes them.


---

Reply via email to