Thank you very much!

I have two new questions:

1) the async operator must emit some value to the async collector
(even it acts as a sink), right?

2) How could I use CheckpointListener with async operator? Could you
give a simple example or doc page?


2017-12-08 18:25 GMT+08:00 Stefan Richter <s.rich...@data-artisans.com>:
> Hi,
>
> Flink currently does not offer async sinks out of the box, but there is no 
> fundamental problem against having them and we will probably offer something 
> is this direction in the future. In the meantime, you can build something 
> like this by replacing the sink with an async io operator that acts as sink 
> (i.e. does the writes to the db) followed by a discarding sink for compliance 
> with the API.
>
> You need to be a bit careful if your sink needs exactly-once semantics. In 
> this case things should either be idempotent or the db must support rolling 
> back changes between checkpoints, e.g. via transactions. Commits should be 
> triggered for confirmed checkpoints („notifyCheckpointComplete“).
>
> Your assumptions about the blocking behavior of the non-async sinks is 
> correct.
>
> Best,
> Stefan
>
>> Am 08.12.2017 um 08:11 schrieb Jinhua Luo <luajit...@gmail.com>:
>>
>> Hi, all.
>>
>> The invoke method of sink seems no way to make async io? e.g. returns Future?
>>
>> For example, the redis connector uses jedis lib to execute redis
>> command synchronously:
>>
>> https://github.com/apache/bahir-flink/blob/master/flink-connector-redis/src/main/java/org/apache/flink/streaming/connectors/redis/RedisSink.java
>>
>> Then it will block the task thread of flink waiting the network
>> response from redis server per command?! Is it possible for other
>> operators running in the same thread with sink? If so, then it would
>> block them too?
>>
>> I know flink has asyncio api, but it seems not for used by sink impl?
>>
>> https://ci.apache.org/projects/flink/flink-docs-release-1.3/dev/stream/asyncio.html
>>
>> Thanks.
>

Reply via email to