Thanks for driving this Arvid. +1 for the releases and the RM
For the 4.0.0 version it would be good to drop the Flink version from the connector version (4.0.0, not 4.0.0-2.0). I started a discussion some time ago [1], however the thread went stale. But I think the feedback was generally aligned. I would propose we release 4.0.0 (or 4.0.0-preview?) and document this only supports Flink 2.0-preview. > I don't think we have any precedent of deprecating API in a bugfix release. I have not seen us do that before for connectors. I would personally prefer a 3.3.0 if we are dropping Flink 1.18 support, although I agree it is a grey area in the guidelines. This allows us to more easily create a 3.2.1-1.18 hotfix later incase the need arises and the community agrees to push another 1.18 hotfix. > It's not obvious to me if a bugfix release counts towards our deprecation policy where we have one release between deprecation and removal. Given that we encode the Flink version in the connector version, it is difficult/impossible to not notice it has been deprecated. Since the user would bump the version from 3.2.0-1.18 to 3.3.0-1.18, and this artifact would not be found in Maven central, and fail the build. > I'm not sure if there's any incompatibility issue for 3.2 + 1.20. If they are fully compatible, what about not dropping support for 1.18 in 3.2.1, and we release one more version 3.2.1-1.20? Then we can use 3.3.0 for the new lineage feature in 1.20 and drop support for 1.18 and 1.19. This is a possibility, but still results in 3 releases, so only worth it if it is simpler Thanks, Danny [1] https://lists.apache.org/thread/byy8fgkr8dbrrdv2nxpxkrz18h904r9b On Mon, Sep 30, 2024 at 10:36 AM Arvid Heise <ar...@apache.org> wrote: > Hi folks, > > thanks for the feedback. I'm still not convinced that it's the best > approach to start with a bugfix release but I did a poor job in > highlighting my thoughts. > * I don't think we have any precedent of deprecating API in a bugfix > release. > * It's not obvious to me if a bugfix release counts towards our deprecation > policy where we have one release between deprecation and removal. A user > could use 3.2.0 not notice the 3.2.1 and see the deprecation only in 3.3.0. > Then the user could be surprised by the removal in 4.0.0. (I'd personally > see our policy too strict regarding major releases but that's what we did > for Flink 2) > * For the deprecation, I also introduced a new interface KafkaPartitioner > that's a drop-in replacement for FlinkKafkaPartitioner. This is new API and > should be part of a new minor release. > * Finally, there is one new feature: [FLINK-22748] Allow dynamic target > topic selection in SQL Kafka sinks [1]. > * I'd drop 1.18 still and support 1.20 instead. > * I'd also bump kafka-clients to 3.7.1 > > WDYT? > > Best, > > Arvid > > [1] https://github.com/apache/flink-connector-kafka/pull/109 > > On Sat, Sep 28, 2024 at 5:27 AM Leonard Xu <xbjt...@gmail.com> wrote: > > > Thanks Arvid for the volunteering! > > > > + 1 for all of the three releases and RM candidate.Qingsheng and I would > > like to help the 4.0.0-preview which follows the Flink 2.0 preview, > > please feel free to ping us if you need any help. > > > > Btw, for other external connectors which highest supported flink version > > still is 1.17 or 1.18, I also hope we can have dedicated plan to bump > > their version ASAP, we can > > start a new thread to track other external connector releases. > > > > Best, > > Leonard > > > > > > > 2024年9月27日 下午6:54,Qingsheng Ren <re...@apache.org> 写道: > > > > > > Thanks for the work, Arvid! > > > > > > I'm not sure if there's any incompatibility issue for 3.2 + 1.20. If > > > they are fully compatible, what about not dropping support for 1.18 in > > > 3.2.1, and we release one more version 3.2.1-1.20? Then we can use > > > 3.3.0 for the new lineage feature in 1.20 and drop support for 1.18 > > > and 1.19. > > > > > > And for the 4.0.0-preview version I'd like to help with it :-) > > > > > > Best, > > > Qingsheng > > > > > > On Fri, Sep 27, 2024 at 6:13 PM Arvid Heise <ar...@apache.org> wrote: > > >> > > >> Hi David, > > >> > > >> thank you very much for your reply. > > >> > > >>> Some thoughts on whether we need the 3 deliverables. And whether we > > could > > >> follow more traditional fixpack numbering: > > >>> I see that there is already a release for 1.19 > > >> > > > https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kafka/3.2.0-1.19 > > >> . > > >> I am wondering why we need the first deliverable. If we need it for > the > > bug > > >> fixes , why not have a 3.2.1? > > >> I forgot the most important part of the first release: drop Flink 1.18 > > >> support and add Flink 1.20 support. Hence I wouldn't want to mix that > > into > > >> a bugfix release. I think this is in line with the previous minor > > releases. > > >> > > >>> I assume that kafka-3.4.0 will not work with previous Flink releases. > > >> Would it be worth have a config switch to enable the lineage in the > > >> connector so that we could use it with 1.19? We could maybe do a 3.3 > if > > >> this was the case. > > >> Yes, as outlined in the discussion linked in the original message, we > > need > > >> to mixin new interfaces. Afaik classloading will fail if the > interfaces > > are > > >> not present, even if the methods are not used. So I don't see how we > can > > >> use a config switch to make it happen (except with code duplication). > > >> However, I'm grateful for any ideas to avoid this release. > > >> > > >> Best, > > >> > > >> Arvid > > >> > > >> On Fri, Sep 27, 2024 at 11:11 AM David Radley < > david_rad...@uk.ibm.com> > > >> wrote: > > >> > > >>> Hi Arvid, > > >>> Some thoughts on whether we need the 3 deliverables. And whether we > > could > > >>> follow more traditional fixpack numbering: > > >>> I see that there is already a release for 1.19 > > >>> > > > https://mvnrepository.com/artifact/org.apache.flink/flink-connector-kafka/3.2.0-1.19 > > >>> . I am wondering why we need the first deliverable. If we need it for > > the > > >>> bug fixes , why not have a 3.2.1? > > >>> I assume that kafka-3.4.0 will not work with previous Flink releases. > > >>> Would it be worth have a config switch to enable the lineage in the > > >>> connector so that we could use it with 1.19? We could maybe do a 3.3 > > if > > >>> this was the case. > > >>> > > >>> WDYT? > > >>> Kind regards, David. > > >>> > > >>> > > >>> > > >>> From: Arvid Heise <ar...@apache.org> > > >>> Date: Friday, 27 September 2024 at 09:24 > > >>> To: dev@flink.apache.org <dev@flink.apache.org> > > >>> Subject: [EXTERNAL] Kafka connector releases > > >>> Dear Flink devs, > > >>> > > >>> I'd like to initiate three(!) Kafka connector releases. The main > > reason for > > >>> having three releases is that we have been slacking a bit in keeping > up > > >>> with the latest changes. > > >>> > > >>> Here is the summary: > > >>> 1. Release kafka-3.3.0 targeting 1.19 and 1.20 (asap) > > >>> - Incorporates lots of deprecations for Flink 2 including everything > > that > > >>> is related to FlinkKafkaProducer (SinkFunction, FlinkKafkaConsumer > > >>> (SourceFunction), and KafkaShuffle > > >>> - Lots of bugfixes that are very relevant for 1.19 users (and > probably > > work > > >>> with older releases) > > >>> > > >>> 2. Release kafka-3.4.0 targeting 1.20 (~1-2 weeks later) > > >>> - Incorporates lineage tracing which is only available in 1.20 [1] > > (FLIP > > >>> incorrectly says that it's avail in 1.19) > > >>> - We have discussed some alternatives to this release in [2] but > > basically > > >>> having a separate release is the cleanest solution. > > >>> - I'd like to linearize the releases to avoid having to do back or > even > > >>> forward ports > > >>> > > >>> 3. Release kafka-4.0.0 targeting 2.0-preview (~1-2 weeks later) > > >>> - Much requested to get the connector out asap for the preview. (I > > think > > >>> the old jar using the removed interfaces should still work) > > >>> - Remove all deprecated things > > >>> - General spring cleaning (trying to get rid of arch unit violations, > > >>> migrate to JUnit5) > > >>> - Should we relocate the TableAPI stuff to o.a.f.connectors? > > >>> > > >>> I'd appreciate any feedback and volunteers for RM ;) If you have > > pending > > >>> PRs that should be part of any of those releases, please also write > > them. > > >>> > > >>> Best, > > >>> > > >>> Arvid > > >>> > > >>> [1] > > >>> > > >>> > > > https://cwiki.apache.org/confluence/display/FLINK/FLIP-314%3A+Support+Customized+Job+Lineage+Listener > > >>> [1] > > >>> > > >>> > > > https://github.com/apache/flink-connector-kafka/pull/111#issuecomment-2306382878 > > >>> > > >>> Unless otherwise stated above: > > >>> > > >>> IBM United Kingdom Limited > > >>> Registered in England and Wales with number 741598 > > >>> Registered office: PO Box 41, North Harbour, Portsmouth, Hants. PO6 > 3AU > > >>> > > > > >