[FLINK-9107][docs] document timer coalescing for ProcessFunction #5790
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What is the purpose of the change
In a ProcessFunction, registering timers for each event via
ctx.timerService().registerEventTimeTimer()
using timestamps likectx.timestamp() + timeout
will get a millisecond accuracy and may thus create one timer per millisecond which may lead to some overhead in theTimerService
.This problem can be mitigated by using timer coalescing if the desired accuracy of the timer can be larger than 1ms. A timer firing at full seconds only, for example, can be realised like this:
As a result, only a single timer may exist for every second since we do not add timers for timestamps that are already there.
Please note that this PR includes #5788 and should also be merged into 1.3 and 1.4 docs to which it applies as well.
Brief change log
ProcessFunction