You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by Roman Khachatryan <ro...@data-artisans.com> on 2020/02/03 09:26:32 UTC

[DISCUSS] FLIP-94 Rework 2-phase commit abstractions

Hi everyone,

I'd like to kick off the discussion on the redesign of
TwoPhaseCommitSinkFunction [1].

The primary motivation is to provide a solution that suits the needs of
both Kafka Sink and JDBC exactly once sink. Other possible scenarios
include File Sink, WAL and batch jobs.

Current abstraction doesn't support all of the requirements of the JDBC
exactly-once sink (e.g retries); besides that, it needs some (minor)
changes in the API.

FLIP-94 proposes more fine-grained abstractions and the use of composition
instead of inheritance (please see the diagram). This enables customization
of various aspects independently and eventually support of more use cases.

Any feedback welcome.

[1]
https://cwiki.apache.org/confluence/display/FLINK/FLIP-94%3A+Rework+2-phase+commit+abstractions

-- 
Regards,
Roman