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.
---