Re: Kafka connector releases

2024-09-30 Thread Arvid Heise
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  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  写道:
> >
> > 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  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 
> >> 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 
> >>> Date: Friday, 27 September 2024 at 09:24
> >>> To: 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 (SinkFunct

Re: Kafka connector releases

2024-09-30 Thread Danny Cranmer
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  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  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  写道:
> > >
> > > 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  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 s

[jira] [Created] (FLINK-36410) Improve Lineage Info Collection for flink app

2024-09-30 Thread Zhenqiu Huang (Jira)
Zhenqiu Huang created FLINK-36410:
-

 Summary: Improve Lineage Info Collection for flink app
 Key: FLINK-36410
 URL: https://issues.apache.org/jira/browse/FLINK-36410
 Project: Flink
  Issue Type: Sub-task
Affects Versions: 1.20.0
Reporter: Zhenqiu Huang






--
This message was sent by Atlassian Jira
(v8.20.10#820010)


FW: RE: Kafka connector releases

2024-09-30 Thread David Radley
Hi again Arvid,
I realise we actually have 3 releases (2 bug releases) supporting 1.18 – the 
renumbering threw me 😊. So I think your proposal looks good,  kind regards, 
David.


From: David Radley 
Date: Monday, 30 September 2024 at 17:07
To: dev@flink.apache.org 
Subject: [EXTERNAL] RE: Kafka connector releases
Hi Arvid,
Thanks for your reply on this.

So we could do a 3.2.1, if we supported Flink 1.18? Is there a compelling 
reason to not support 1.18?

I see that  Kafka connectors that supported Flink 1.17 and below had 2 to 6 bug 
releases. Is there not an expectation that there will be a Flink 1.18 
compatible Kafka connector bug release? If we end up having to do a 1.18 bug 
release due to demand and expectation, then maybe a 3.2.1 supporting 1.18 would 
make sense.

It seems like we are changing the way we are doing the bug releases for the 
Kafka connector. Is the idea that there will be no bug release for 1.19 also? I 
assume 1.20 as the last v1 release would have bug releases.

Thoughts?

Kind regards, David.


From: Arvid Heise 
Date: Friday, 27 September 2024 at 11:12
To: dev@flink.apache.org 
Subject: [EXTERNAL] Re: Kafka connector releases
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 
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 
> Date: Friday, 27 September 2024 at 09:24
> To: 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-23063828

Re: Kafka connector releases

2024-09-30 Thread Arvid Heise
Hi Danny,

thanks for bringing this to my attention. I'm also in favor of starting
with Flink 2.0. It's just a nice opportunity to break with some traditions
and we are almost there anyways. We could resume the discussion over there
if you'd like.

Regarding the deprecation. I think you misunderstood me. I was talking
about deprecating the KafkaShuffle and all the old API around
Consumer/Producer (which we already deprecated in 1.14). [1]
But I'd also deprecate 1.18 support with that release, so all that you say
is additionally true.

Since we are on the topic of deprecation and I got your attention: Does
anyone have strong opinions about moving the TableAPI stuff into the
o.a.f.connectors package? It would probably moving things + provide stubs
with deprecation in the old location that extend from the actual things
similar to the FlinkKafkaPartitioner in [1]. We can start a separate
discussion and I don't have a strong opinion since I'm not a TableAPI/SQL
guy. I'm also getting low on OSS contribution time.

Best,

Arvid

[1] https://github.com/apache/flink-connector-kafka/pull/121

On Mon, Sep 30, 2024 at 4:49 PM Danny Cranmer 
wrote:

> 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  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  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  写道:
> > > >
> > > > Thanks for the work, Arvid!
> > > >
> > > > I'm not sure if there's any incompatibility issue for 3.2 + 1.20. If
> > >

Re: [VOTE] FLIP-477: Amazon SQS Source Connector

2024-09-30 Thread Robert Metzger
+1 (binding)

On Fri, Sep 27, 2024 at 12:12 PM Danny Cranmer 
wrote:

> +1 (binding)
>
> Thanks,
> Danny
>
> On Fri, Sep 27, 2024 at 8:15 AM Arvid Heise  wrote:
>
> > +1 (binding),
> >
> > Best,
> >
> > Arvid
> >
> > On Tue, Sep 3, 2024 at 12:35 PM Saurabh Singh <
> saurabhsingh9...@gmail.com>
> > wrote:
> >
> > > Hi Flink Devs,
> > >
> > > Gentle Reminder for voting on FLIP-477: Amazon SQS Source Connector
> [1].
> > > [1] https://cwiki.apache.org/confluence/display/FLINK/FLIP-477
> > > +Amazon+SQS+Source+Connector
> > >
> > > Regards
> > > Saurabh & Abhi
> > >
> > > On Thu, Aug 22, 2024 at 1:17 AM Aleksandr Pilipenko 
> > > wrote:
> > >
> > > > Thank you for driving this!
> > > > +1 (non-binding)
> > > >
> > > > Best,
> > > > Aleksandr
> > > >
> > > > On Wed, 21 Aug 2024 at 15:21, Ahmed Hamdy 
> > wrote:
> > > >
> > > > > Thanks for driving Abhisagar,
> > > > > +1 (non-binding)
> > > > >
> > > > > Best Regards
> > > > > Ahmed Hamdy
> > > > >
> > > > >
> > > > > On Wed, 21 Aug 2024 at 09:11, Abhisagar Khatri <
> > > > > khatri.abhisaga...@gmail.com>
> > > > > wrote:
> > > > >
> > > > > > Hi Flink Devs,
> > > > > >
> > > > > > Thank you for all the feedback about FLIP-477: Amazon SQS Source
> > > > > Connector
> > > > > > [1]. The discussion thread can be found here [2].
> > > > > >
> > > > > > The vote will be open for at least 72 hours unless there are any
> > > > > objections
> > > > > > or insufficient votes.
> > > > > >
> > > > > > Regards,
> > > > > > Abhi & Saurabh
> > > > > >
> > > > > > [1]
> > > > > >
> > > > > >
> > > > >
> > > >
> > >
> >
> https://cwiki.apache.org/confluence/display/FLINK/FLIP-477+Amazon+SQS+Source+Connector
> > > > > > [2]
> > https://lists.apache.org/thread/p27tj3kzyln1fjqyx2xmg4tt7thoh0sh
> > > > > >
> > > > >
> > > >
> > >
> >
>


[jira] [Created] (FLINK-36409) Publish some autoscaler metrics during stabilisation period

2024-09-30 Thread Gyula Fora (Jira)
Gyula Fora created FLINK-36409:
--

 Summary: Publish some autoscaler metrics during stabilisation 
period
 Key: FLINK-36409
 URL: https://issues.apache.org/jira/browse/FLINK-36409
 Project: Flink
  Issue Type: Bug
  Components: Autoscaler, Kubernetes Operator
Affects Versions: kubernetes-operator-1.9.0
Reporter: Gyula Fora


Currently autoscaler metrics are not published at all during stabilisation 
period. This makes sense for most metrics as they rely on evaluation logic but 
for some such as PARALLELISM we should always publish them so users have metric 
continuity.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (FLINK-36413) Reenable the test case that related to Source/Sink APi deprecated.

2024-09-30 Thread LvYanquan (Jira)
LvYanquan created FLINK-36413:
-

 Summary: Reenable the test case that related to Source/Sink APi 
deprecated.
 Key: FLINK-36413
 URL: https://issues.apache.org/jira/browse/FLINK-36413
 Project: Flink
  Issue Type: Technical Debt
  Components: Tests
Affects Versions: 2.0-preview
Reporter: LvYanquan
 Fix For: 2.0.0


In https://issues.apache.org/jira/browse/FLINK-36245 , we disabled some test 
cases because Kafka connector still used some removed class temporarily, After 
Kafka connector releases a new version that completed the deprecated work, we 
need to release these disabled test cases. 
1. The temporary disabled test cases include:
 * SqlClientITCase#testMatchRecognize
 * connector test under flink-python/pyflink/datastream/conntectors/tests


2. Classes  that skipped compile by maven plugin:
 * org.apache.flink.schema.registry.test.TestAvroConsumerConfluent
 * org.apache.flink.streaming.examples.statemachine.KafkaEventsGeneratorJob



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (FLINK-36414) NoSuchMethodError while trying flink cdc

2024-09-30 Thread Yang Hua Jie (Jira)
Yang Hua Jie created FLINK-36414:


 Summary: NoSuchMethodError while trying flink cdc 
 Key: FLINK-36414
 URL: https://issues.apache.org/jira/browse/FLINK-36414
 Project: Flink
  Issue Type: Bug
  Components: Flink CDC
Affects Versions: cdc-3.2.0
Reporter: Yang Hua Jie


flink: 1.20.0
flink-cdc: 3.2.0
mysql version: 8.0
kafka version: 2.2.1

 

cdc job

```
source:
type: mysql
hostname: localhost
port: 3306
username: root
password: 123456
tables: app_db.\.*
server-time-zone: 'UTC'

sink:
type: kafka
name: Kafka Sink
properties.bootstrap.servers: PLAINTEXT://localhost:9092

pipeline:
name: Sync MySQL Database to Kafka
parallelism: 2
```

 

 

Here is the error

 

```
2024-10-01 10:05:14
java.lang.NoSuchMethodError: 'void 
org.apache.flink.formats.json.JsonRowDataSerializationSchema.(org.apache.flink.table.types.logical.RowType,
 org.apache.flink.formats.common.TimestampFormat, 
org.apache.flink.formats.json.JsonFormatOptions$MapNullKeyMode, 
java.lang.String, boolean)'
at 
org.apache.flink.cdc.connectors.kafka.serialization.JsonSerializationSchema.buildSerializationForPrimaryKey(JsonSerializationSchema.java:134)
at 
org.apache.flink.cdc.connectors.kafka.serialization.JsonSerializationSchema.serialize(JsonSerializationSchema.java:101)
at 
org.apache.flink.cdc.connectors.kafka.serialization.JsonSerializationSchema.serialize(JsonSerializationSchema.java:47)
at 
org.apache.flink.cdc.connectors.kafka.sink.PipelineKafkaRecordSerializationSchema.serialize(PipelineKafkaRecordSerializationSchema.java:99)
at 
org.apache.flink.cdc.connectors.kafka.sink.PipelineKafkaRecordSerializationSchema.serialize(PipelineKafkaRecordSerializationSchema.java:44)
at 
org.apache.flink.cdc.connectors.kafka.shaded.org.apache.flink.connector.kafka.sink.KafkaWriter.write(KafkaWriter.java:196)
at 
org.apache.flink.streaming.runtime.operators.sink.SinkWriterOperator.processElement(SinkWriterOperator.java:160)
at 
org.apache.flink.cdc.runtime.operators.sink.DataSinkWriterOperator.processElement(DataSinkWriterOperator.java:163)
at 
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.pushToOperator(CopyingChainingOutput.java:75)
at 
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:50)
at 
org.apache.flink.streaming.runtime.tasks.CopyingChainingOutput.collect(CopyingChainingOutput.java:29)
at 
org.apache.flink.streaming.api.operators.StreamMap.processElement(StreamMap.java:38)
at 
org.apache.flink.streaming.runtime.tasks.OneInputStreamTask$StreamTaskNetworkOutput.emitRecord(OneInputStreamTask.java:238)
at 
org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.processElement(AbstractStreamTaskNetworkInput.java:157)
at 
org.apache.flink.streaming.runtime.io.AbstractStreamTaskNetworkInput.emitNext(AbstractStreamTaskNetworkInput.java:114)
at 
org.apache.flink.streaming.runtime.io.StreamOneInputProcessor.processInput(StreamOneInputProcessor.java:65)
at 
org.apache.flink.streaming.runtime.tasks.StreamTask.processInput(StreamTask.java:638)
at 
org.apache.flink.streaming.runtime.tasks.mailbox.MailboxProcessor.runMailboxLoop(MailboxProcessor.java:231)
at 
org.apache.flink.streaming.runtime.tasks.StreamTask.runMailboxLoop(StreamTask.java:973)
at 
org.apache.flink.streaming.runtime.tasks.StreamTask.invoke(StreamTask.java:917)
at 
org.apache.flink.runtime.taskmanager.Task.runWithSystemExitMonitoring(Task.java:970)
at org.apache.flink.runtime.taskmanager.Task.restoreAndInvoke(Task.java:949)
at org.apache.flink.runtime.taskmanager.Task.doRun(Task.java:763)
at org.apache.flink.runtime.taskmanager.Task.run(Task.java:575)
at java.base/java.lang.Thread.run(Thread.java:829)
```



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


RE: Kafka connector releases

2024-09-30 Thread David Radley
Hi Arvid,
Thanks for your reply on this.

So we could do a 3.2.1, if we supported Flink 1.18? Is there a compelling 
reason to not support 1.18?

I see that  Kafka connectors that supported Flink 1.17 and below had 2 to 6 bug 
releases. Is there not an expectation that there will be a Flink 1.18 
compatible Kafka connector bug release? If we end up having to do a 1.18 bug 
release due to demand and expectation, then maybe a 3.2.1 supporting 1.18 would 
make sense.

It seems like we are changing the way we are doing the bug releases for the 
Kafka connector. Is the idea that there will be no bug release for 1.19 also? I 
assume 1.20 as the last v1 release would have bug releases.

Thoughts?

Kind regards, David.


From: Arvid Heise 
Date: Friday, 27 September 2024 at 11:12
To: dev@flink.apache.org 
Subject: [EXTERNAL] Re: Kafka connector releases
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 
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 
> Date: Friday, 27 September 2024 at 09:24
> To: 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
>

Unless otherwise stated above:

IBM United Kingdom Limited
Registered in England and Wales with number 741598
Registered 

Re: Question around Flink's AdaptiveBatchScheduler

2024-09-30 Thread Venkatakrishnan Sowrirajan
First of all my sincere apologies for slow progress on this one.

@Junrui Lee  and Xia,

I updated the PR with respect to the last set of feedback comments on the
PR. Please take a look. I am hoping to finish this one quickly.

Regards
Venkata krishnan


On Thu, May 9, 2024 at 4:35 AM Venkatakrishnan Sowrirajan 
wrote:

> Xia,
>
> Thanks for the reviews. Unfortunately due to work commitments I am little
> delayed in addressing your review comments. Mostly will be done by end of
> this week. Just a quick heads up.
>
> Jinrui,
>
> Thanks, that would be great.
>
> On Mon, May 6, 2024, 12:45 AM Junrui Lee  wrote:
>
>> Hi,
>> Thanks for the reminder. I will review it soon during my free time.
>>
>> Venkatakrishnan Sowrirajan  于2024年5月4日周六 10:10写道:
>>
>> > Jinrui and Xia
>> >
>> > Gentle ping for reviews.
>> >
>> > On Mon, Apr 29, 2024, 8:28 PM Venkatakrishnan Sowrirajan <
>> vsowr...@asu.edu
>> > >
>> > wrote:
>> >
>> > > Hi Xia and Jinrui,
>> > >
>> > > Filed
>> https://urldefense.com/v3/__https://github.com/apache/flink/pull/24736__;!!IKRxdwAv5BmarQ!YHVAC2UWD7ITI-Xyk6Flu6WhuSWYsHTLCOtJkLUhtIyojo0OxQOfsQmoS7d9-q0OhcRzbZ0hjO19qbictUrQLQ$
>> to address the above
>> > > described issue. Please take a look whenever you can.
>> > >
>> > > Thanks
>> > > Venkat
>> > >
>> > >
>> > > On Thu, Apr 18, 2024 at 12:16 PM Venkatakrishnan Sowrirajan <
>> > > vsowr...@asu.edu> wrote:
>> > >
>> > >> Filed
>> https://urldefense.com/v3/__https://issues.apache.org/jira/browse/FLINK-35165__;!!IKRxdwAv5BmarQ!YHVAC2UWD7ITI-Xyk6Flu6WhuSWYsHTLCOtJkLUhtIyojo0OxQOfsQmoS7d9-q0OhcRzbZ0hjO19qbim4QLkBQ$
>> to address the
>> > >> above described issue. Will share the PR here once it is ready for
>> > review.
>> > >>
>> > >> Regards
>> > >> Venkata krishnan
>> > >>
>> > >>
>> > >> On Wed, Apr 17, 2024 at 5:32 AM Junrui Lee 
>> wrote:
>> > >>
>> > >>> Thanks Venkata and Xia for providing further clarification. I think
>> > your
>> > >>> example illustrates the significance of this proposal very well.
>> Please
>> > >>> feel free go ahead and address the concerns.
>> > >>>
>> > >>> Best,
>> > >>> Junrui
>> > >>>
>> > >>> Venkatakrishnan Sowrirajan  于2024年4月16日周二
>> 07:01写道:
>> > >>>
>> > >>> > Thanks for adding your thoughts to this discussion.
>> > >>> >
>> > >>> > If we all agree that the source vertex parallelism shouldn't be
>> bound
>> > >>> by
>> > >>> > the downstream max parallelism
>> > >>> > (jobmanager.adaptive-batch-scheduler.max-parallelism)
>> > >>> > based on the rationale and the issues described above, I can take
>> a
>> > >>> stab at
>> > >>> > addressing the issue.
>> > >>> >
>> > >>> > Let me file a ticket to track this issue. Otherwise, I'm looking
>> > >>> forward to
>> > >>> > hearing more thoughts from others as well, especially Lijie and
>> > Junrui
>> > >>> who
>> > >>> > have more context on the AdaptiveBatchScheduler.
>> > >>> >
>> > >>> > Regards
>> > >>> > Venkata krishnan
>> > >>> >
>> > >>> >
>> > >>> > On Mon, Apr 15, 2024 at 12:54 AM Xia Sun 
>> > wrote:
>> > >>> >
>> > >>> > > Hi Venkat,
>> > >>> > > I agree that the parallelism of source vertex should not be
>> upper
>> > >>> bounded
>> > >>> > > by the job's global max parallelism. The case you mentioned, >>
>> > High
>> > >>> > filter
>> > >>> > > selectivity with huge amounts of data to read  excellently
>> supports
>> > >>> this
>> > >>> > > viewpoint. (In fact, in the current implementation, if the
>> source
>> > >>> > > parallelism is pre-specified at job create stage, rather than
>> > >>> relying on
>> > >>> > > the dynamic parallelism inference of the AdaptiveBatchScheduler,
>> > the
>> > >>> > source
>> > >>> > > vertex's parallelism can indeed exceed the job's global max
>> > >>> parallelism.)
>> > >>> > >
>> > >>> > > As Lijie and Junrui pointed out, the key issue is "semantic
>> > >>> consistency."
>> > >>> > > Currently, if a vertex has not set maxParallelism, the
>> > >>> > > AdaptiveBatchScheduler will use
>> > >>> > > `execution.batch.adaptive.auto-parallelism.max-parallelism` as
>> the
>> > >>> > vertex's
>> > >>> > > maxParallelism. Since the current implementation does not
>> > distinguish
>> > >>> > > between source vertices and downstream vertices, source vertices
>> > are
>> > >>> also
>> > >>> > > subject to this limitation.
>> > >>> > >
>> > >>> > > Therefore, I believe that if the issue of "semantic consistency"
>> > can
>> > >>> be
>> > >>> > > well explained in the code and configuration documentation, the
>> > >>> > > AdaptiveBatchScheduler should support that the parallelism of
>> > source
>> > >>> > > vertices can exceed the job's global max parallelism.
>> > >>> > >
>> > >>> > > Best,
>> > >>> > > Xia
>> > >>> > >
>> > >>> > > Venkatakrishnan Sowrirajan  于2024年4月14日周日
>> > 10:31写道:
>> > >>> > >
>> > >>> > > > Let me state why I think "*jobmanager.adaptive-batch-sche*
>> > >>> > > > *duler.default-source-parallelism*" should not be bound by
>> the "
>> > >>> > > > *jobmanager.adaptive-batch-sche**duler.max-parallelism*".
>> > >>> 

[jira] [Created] (FLINK-36411) Allow configuring job vertex throughput limits for auto scaler

2024-09-30 Thread Sai Sharath Dandi (Jira)
Sai Sharath Dandi created FLINK-36411:
-

 Summary: Allow configuring job vertex throughput limits for auto 
scaler
 Key: FLINK-36411
 URL: https://issues.apache.org/jira/browse/FLINK-36411
 Project: Flink
  Issue Type: Improvement
  Components: Autoscaler
Reporter: Sai Sharath Dandi


*Problem Statement*

 

Currently, auto scaler has the ability to detect ineffective scalings and 
prevent further scale ups. However, the ineffective scaling detection does not 
work when there is no scaling history. Moreover, the ineffective scaling 
detection does not prevent the job from making an ineffective scaling for the 
first time.

 

This is particularly important for some of the sinks that could enforce 
throttling (For example, quota limit for Kafka sink). In these cases, we can 
avoid ineffective scalings by comparing the throughput limit and current 
processing rate.


*Solution*

Some high level ideas below

 
 # Allow user to specify the throughput limit at job vertex level

 



--
This message was sent by Atlassian Jira
(v8.20.10#820010)


[jira] [Created] (FLINK-36412) Retry strategies on Kinesis Sink

2024-09-30 Thread Ed Berezitsky (Jira)
Ed Berezitsky created FLINK-36412:
-

 Summary: Retry strategies on Kinesis Sink
 Key: FLINK-36412
 URL: https://issues.apache.org/jira/browse/FLINK-36412
 Project: Flink
  Issue Type: Improvement
  Components: Connectors / AWS, Connectors / Kinesis
Reporter: Ed Berezitsky


In case of internal Kinesis issues, Kinesis Sink connector crashes and causes 
application to stop

{{java.util.concurrent.CompletionException: 
org.apache.flink.kinesis.shaded.software.amazon.awssdk.core.exception.SdkClientException:
 Unable to execute HTTP request: connection timed 
out:.data-kinesis.us-west-2.amazonaws.com/<10.x.x.x>:443 at 
org.apache.flink.kinesis.shaded.software.amazon.awssdk.utils.CompletableFutureUtils.errorAsCompletionException(CompletableFutureUtils.java:65)
 at 
org.apache.flink.kinesis.shaded.software.amazon.awssdk.core.internal.http.pipeline.stages.AsyncExecutionFailureExceptionReportingStage.lambda$execute$0(AsyncExecutionFailureExceptionReportingStage.java:51)}}

 

The connector could introduce improved exception/error managing mechanism to 
allow an application to wait until connection is restored, controlled by 
additional parameters available for a users of the connector to set in a Flink 
aopp



--
This message was sent by Atlassian Jira
(v8.20.10#820010)