[ https://issues.apache.org/jira/browse/FLINK-9107?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Timo Walther resolved FLINK-9107. --------------------------------- Resolution: Fixed Fix Version/s: (was: 1.3.4) Fixed in 1.6.0: 7b0fc58f75494c9a2c71d551632445ded85c0a45 Fixed in 1.5.0: f083622a200c79395ecf16e2be6f8b540fe85178 Fixed in 1.4.3: ca8f4ca4fdf4fbd98a86b32a2a77dbb00742e164 > Document timer coalescing for ProcessFunctions > ---------------------------------------------- > > Key: FLINK-9107 > URL: https://issues.apache.org/jira/browse/FLINK-9107 > Project: Flink > Issue Type: Improvement > Components: Documentation, Streaming > Affects Versions: 1.3.0, 1.4.0, 1.5.0, 1.6.0 > Reporter: Nico Kruber > Assignee: Nico Kruber > Priority: Major > Fix For: 1.5.0, 1.4.3 > > > In a {{ProcessFunction}}, registering timers for each event via > {{ctx.timerService().registerEventTimeTimer()}} using times like > {{ctx.timestamp() + timeout}} will get a millisecond accuracy and may thus > create one timer per millisecond which may lead to some overhead in the > {{TimerService}}. > 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: > {code} > coalescedTime = ((ctx.timestamp() + timeout) / 1000) * 1000; > ctx.timerService().registerEventTimeTimer(coalescedTime); > {code} > As a result, only a single timer may exist for every second since we do not > add timers for timestamps that are already there. > This should be documented in the {{ProcessFunction}} docs. -- This message was sent by Atlassian JIRA (v7.6.3#76005)