+1 On Mon, Jun 23, 2025, 22:04 Őrhidi Mátyás <matyas.orh...@gmail.com> wrote:
> +1, sounds reasonable to me > > Thanks, > Matyas > > On Mon, Jun 23, 2025 at 11:28 AM Rodrigo Meneses <rmene...@gmail.com> > wrote: > >> Hi devs, >> >> >> I’d like to start a discussion about the current and future state of our >> Flink Sink Connectors. >> >> >> As it stands today, we currently have 3 sink implementations: >> >> 1. FlinkSink [1] >> 2. IcebergSink [2] >> 3. DynamicSink [3] >> >> >> FlinkSink [1] is the current and default implementation of the Flink Sink >> Connector. >> >> >> IcebergSink [2] is another implementation of the Flink Sink Connector >> which was introduced in https://github.com/apache/iceberg/pull/10179. >> <https://github.com/apache/iceberg/pull/10179> It leverages the latest >> SinkV2 interfaces in Flink, and it offers the possibility of adding cleanup >> tasks by the way of implementing the `PostCommitTopology` interface. There >> is already some work in progress to enable this functionality: >> https://github.com/apache/iceberg/pull/12979 >> >> >> DynamicSink [3] has been recently contributed in >> https://github.com/apache/iceberg/pull/13304 and it can be used to write >> to any number of tables, dynamically creating and updating tables and >> dynamically updating the schema and partition spec of tables. >> >> >> Currently, `IcebergSink` is marked as `@Experimental` and it already >> offers feature parity with `FlinkSink` (the missing RANGE distribution was >> recently merged https://github.com/apache/iceberg/pull/12071). >> >> >> With https://github.com/apache/iceberg/pull/11244, users have the choice >> of specifying which Sink Implementation ([1] or [2]) they want to use for >> Flink SQL. >> >> >> With all this said, we’re proposing the following for Iceberg* 1.11*: >> >> 1. @Deprecate FlinkSink >> 2. Promote IcebergSink from @Experimental to @PublicEvolving >> 3. Make IcebergSink the default implementation in Flink SQL. >> >> >> Then in Iceberg *1.12* we will: >> >> >> >> 1. Remove the `FlinkSink` implementation. >> 2. Remove @PublicEvolving from IcebergSink >> >> >> What do you think about this plan? >> >> >> Thanks, >> >> Rodrigo >> >>