flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Dawid Wysakowicz <dwysakow...@apache.org>
Subject Re: RichAsyncFunction Timer Service
Date Thu, 25 Apr 2019 07:59:49 GMT
Hi Mike,

I think the reason why there is no access to TimerService in async
function is that as it is an async function, there are no guarantees
when/and where(at which stage of the pipeline) the function will
actually be executed. This characteristic doesn't align with
TimerService and timely callbacks.



On 19/04/2019 17:41, Mikhail Pryakhin wrote:
> Hello, Flink community!
> It happens that I need to access a timer service in a
> RichAsyncFunction implementation. I know it's normally accomplished
> via StreamingRuntimeContext instance available in a RichFunction, but
> unfortunately, RichAsyncFunction extending RichFunction overrides
> “setRuntimeContext” method [1] wrapping a RuntimeContext instance
> passed as the method argument into a RichAsyncFunctionRuntimeContext
> instance [2]. This RichAsyncFunction specific RuntimeContext
> implementation is private [2] which makes it infeasible to gain access
> to a wrapped original RuntimeContext thus making it impossible to
> leverage timer service in RichAsyncFunction implementations. Just
> curious is there any reason for that? Can we make this implementation
> public or somehow share a wrapped instance?
> Many thanks in advance!
> [1]
> https://github.com/apache/flink/blob/c96a4d7afe379a291cc538ca36af896df8dc2127/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/async/RichAsyncFunction.java#L76
> [2]
> https://github.com/apache/flink/blob/c96a4d7afe379a291cc538ca36af896df8dc2127/flink-streaming-java/src/main/java/org/apache/flink/streaming/api/functions/async/RichAsyncFunction.java#L100
> Kind Regards,
> Mike Pryakhin

View raw message