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
