Re: Flink and Flink shaded dependency

2023-10-22 Thread Yuxin Tan
Hi, Matthias

Thanks a lot for joining the discussion.

> Generally, netty upgrades are a source of instability based on past
experiences. But considering that we have newer versions (4.1.91.Final)
tested with flink-shaded 17.0 in Flink 1.18, it should be alright bumping
netty in flink-shaded 16.2 to netty 4.1.83.Final.

Agree with your consideration, this also is the reason why we chose
4.1.83.Final.

> If no other objections are shared, the next step would be to create a Jira
issue, do the change in flink-shaded, release flink-shaded 16.2 and update
the flink-shaded version in the 1.17 branch.

If there are no objections, I'm ready to create a Jira ticket and prepare
the
PR for the change. However, it may need assistance from a committer for
the subsequent steps. It would be very appreciated if someone could take the
releasing task. Thanks

Best,
Yuxin


Matthias Pohl  于2023年10月20日周五 20:30写道:

>  IHi Yuxin,
> That would be the way to go for flink-shaded and Flink 1.17.
>
> Generally, netty upgrades are a source of instability based on past
> experiences. But considering that we have newer versions (4.1.91.Final)
> tested with flink-shaded 17.0 in Flink 1.18, it should be alright bumping
> netty in flink-shaded 16.2 to netty 4.1.83.Final.
>
> One argument against such an upgrade would be that the Flink community is
> not supporting arm officially (i.e. there's no CI setup). In this sense I
> want to wait whether other's have objections against doing the upgrade.
>
> If no other objections are shared, the next step would be to create a Jira
> issue, do the change in flink-shaded, release flink-shaded 16.2 and update
> the flink-shaded version in the 1.17 branch.
>
> Matthias
>
> On Mon, Oct 16, 2023 at 5:07 AM Yuxin Tan  wrote:
>
> > Hi, devs,
> >
> > I would like to revive the discussion again.
> >
> > In our ARM environment, we encounter a compile error when
> > using Flink 1.17.
> >
> > Flink 1.17 depends on flink-shaded 16.1, which uses netty 4.1.82.
> > However, flink-shaded 16.1 fails to compile in the ARM
> > environment. As a result, we are unable to compile Flink 1.17
> > due to this issue.
> >
> > We have tested compiling flink-shaded using netty 4.1.83 or
> > a later version in ARM env, and it can compile successfully.
> >
> > I believe this is a critical bug that needs to be addressed first.
> >
> > Taking into consideration the previous discussions regarding
> > compatibility and the dependency of external connectors on
> > this version, I propose addressing the bug by only updating
> > flink-shaded's netty to a minor version (e.g., 4.1.83) rather than
> > backporting FLINK-32032. This approach can avoid introducing
> > other changes, such as updating to a higher netty version (4.1.91),
> > potential guava version alterations, Curator version modifications,
> > and so on.
> >
> > WDYT?
> >
> >
> > Best,
> > Yuxin
> >
> >
> > Jing Ge  于2023年10月5日周四 14:39写道:
> >
> > > Hi Chesnay,
> > >
> > > Thanks for joining this discussion and sharing your thoughts!
> > >
> > >
> > > > Connectors shouldn't depend on flink-shaded.
> > > >
> > >
> > > Perfect! We are on the same page. If you could read through the
> > discussion,
> > > you would realize that, currently, there are many connectors depend on
> > > flink-shaded.
> > >
> > >
> > > > Connectors are small enough in scope that depending directly on
> > > > guava/jackson/etc. is a fine approach, and they have plenty of other
> > > > dependencies that they need to manage anyway; let's treat these the
> > same
> > > > way.
> > > >
> > >
> > > It is even better, if we could do that. Jira tickest[1] are created.
> > >
> > >
> > > > As for class-loading, there has been a long-standing goal of each
> > > > connector being loaded in their own classloader. That still is the
> > north
> > > > star and the only reasonable way to ensure that multiple connectors
> can
> > > > be safely used with SQL.
> > > >
> > >
> > > What is the current status? Do we have any Jira ticket for that?
> > >
> > > Best regards,
> > > Jing
> > >
> > > [1] https://issues.apache.org/jira/browse/FLINK-33190
> > >
> > > On Wed, Oct 4, 2023 at 4:43 PM Chesnay Schepler 
> > > wrote:
> > >
> > > > There is no "monolithic" flink-shaded dependency.
> > > > Connectors shouldn't depend on anythi

Re: Flink and Flink shaded dependency

2023-10-20 Thread Matthias Pohl
 IHi Yuxin,
That would be the way to go for flink-shaded and Flink 1.17.

Generally, netty upgrades are a source of instability based on past
experiences. But considering that we have newer versions (4.1.91.Final)
tested with flink-shaded 17.0 in Flink 1.18, it should be alright bumping
netty in flink-shaded 16.2 to netty 4.1.83.Final.

One argument against such an upgrade would be that the Flink community is
not supporting arm officially (i.e. there's no CI setup). In this sense I
want to wait whether other's have objections against doing the upgrade.

If no other objections are shared, the next step would be to create a Jira
issue, do the change in flink-shaded, release flink-shaded 16.2 and update
the flink-shaded version in the 1.17 branch.

Matthias

On Mon, Oct 16, 2023 at 5:07 AM Yuxin Tan  wrote:

> Hi, devs,
>
> I would like to revive the discussion again.
>
> In our ARM environment, we encounter a compile error when
> using Flink 1.17.
>
> Flink 1.17 depends on flink-shaded 16.1, which uses netty 4.1.82.
> However, flink-shaded 16.1 fails to compile in the ARM
> environment. As a result, we are unable to compile Flink 1.17
> due to this issue.
>
> We have tested compiling flink-shaded using netty 4.1.83 or
> a later version in ARM env, and it can compile successfully.
>
> I believe this is a critical bug that needs to be addressed first.
>
> Taking into consideration the previous discussions regarding
> compatibility and the dependency of external connectors on
> this version, I propose addressing the bug by only updating
> flink-shaded's netty to a minor version (e.g., 4.1.83) rather than
> backporting FLINK-32032. This approach can avoid introducing
> other changes, such as updating to a higher netty version (4.1.91),
> potential guava version alterations, Curator version modifications,
> and so on.
>
> WDYT?
>
>
> Best,
> Yuxin
>
>
> Jing Ge  于2023年10月5日周四 14:39写道:
>
> > Hi Chesnay,
> >
> > Thanks for joining this discussion and sharing your thoughts!
> >
> >
> > > Connectors shouldn't depend on flink-shaded.
> > >
> >
> > Perfect! We are on the same page. If you could read through the
> discussion,
> > you would realize that, currently, there are many connectors depend on
> > flink-shaded.
> >
> >
> > > Connectors are small enough in scope that depending directly on
> > > guava/jackson/etc. is a fine approach, and they have plenty of other
> > > dependencies that they need to manage anyway; let's treat these the
> same
> > > way.
> > >
> >
> > It is even better, if we could do that. Jira tickest[1] are created.
> >
> >
> > > As for class-loading, there has been a long-standing goal of each
> > > connector being loaded in their own classloader. That still is the
> north
> > > star and the only reasonable way to ensure that multiple connectors can
> > > be safely used with SQL.
> > >
> >
> > What is the current status? Do we have any Jira ticket for that?
> >
> > Best regards,
> > Jing
> >
> > [1] https://issues.apache.org/jira/browse/FLINK-33190
> >
> > On Wed, Oct 4, 2023 at 4:43 PM Chesnay Schepler 
> > wrote:
> >
> > > There is no "monolithic" flink-shaded dependency.
> > > Connectors shouldn't depend on anything that Flink provides, but be
> > > self-contained as Martijn pointed out.
> > >
> > >
> >
> > > Connectors shouldn't depend on flink-shaded.
> > >
> >
> >
> > > The overhead and/or risks of doing/supporting that right now far
> > > outweigh the benefits.
> > > ( Because we either have to encode the full version for all
> dependencies
> > > into the package, or accept the risk of minor/patch dependency clashes)
> > >
> >
> >
> > > Connectors are small enough in scope that depending directly on
> > > guava/jackson/etc. is a fine approach, and they have plenty of other
> > > dependencies that they need to manage anyway; let's treat these the
> same
> > > way.
> > >
> >
> >
> > > Naturally this is also an argument against flink-shaded-connectors; on
> > > top of that we already experience repo creep and managing releases is
> > > difficult enough as-is.
> > >
> > >
> >
> > > As for class-loading, there has been a long-standing goal of each
> > > connector being loaded in their own classloader. That still is the
> north
> > > star and the only reasonable way to ensure that multiple connectors can
> > > be safely used 

Re: Flink and Flink shaded dependency

2023-10-15 Thread Yuxin Tan
Hi, devs,

I would like to revive the discussion again.

In our ARM environment, we encounter a compile error when
using Flink 1.17.

Flink 1.17 depends on flink-shaded 16.1, which uses netty 4.1.82.
However, flink-shaded 16.1 fails to compile in the ARM
environment. As a result, we are unable to compile Flink 1.17
due to this issue.

We have tested compiling flink-shaded using netty 4.1.83 or
a later version in ARM env, and it can compile successfully.

I believe this is a critical bug that needs to be addressed first.

Taking into consideration the previous discussions regarding
compatibility and the dependency of external connectors on
this version, I propose addressing the bug by only updating
flink-shaded's netty to a minor version (e.g., 4.1.83) rather than
backporting FLINK-32032. This approach can avoid introducing
other changes, such as updating to a higher netty version (4.1.91),
potential guava version alterations, Curator version modifications,
and so on.

WDYT?


Best,
Yuxin


Jing Ge  于2023年10月5日周四 14:39写道:

> Hi Chesnay,
>
> Thanks for joining this discussion and sharing your thoughts!
>
>
> > Connectors shouldn't depend on flink-shaded.
> >
>
> Perfect! We are on the same page. If you could read through the discussion,
> you would realize that, currently, there are many connectors depend on
> flink-shaded.
>
>
> > Connectors are small enough in scope that depending directly on
> > guava/jackson/etc. is a fine approach, and they have plenty of other
> > dependencies that they need to manage anyway; let's treat these the same
> > way.
> >
>
> It is even better, if we could do that. Jira tickest[1] are created.
>
>
> > As for class-loading, there has been a long-standing goal of each
> > connector being loaded in their own classloader. That still is the north
> > star and the only reasonable way to ensure that multiple connectors can
> > be safely used with SQL.
> >
>
> What is the current status? Do we have any Jira ticket for that?
>
> Best regards,
> Jing
>
> [1] https://issues.apache.org/jira/browse/FLINK-33190
>
> On Wed, Oct 4, 2023 at 4:43 PM Chesnay Schepler 
> wrote:
>
> > There is no "monolithic" flink-shaded dependency.
> > Connectors shouldn't depend on anything that Flink provides, but be
> > self-contained as Martijn pointed out.
> >
> >
>
> > Connectors shouldn't depend on flink-shaded.
> >
>
>
> > The overhead and/or risks of doing/supporting that right now far
> > outweigh the benefits.
> > ( Because we either have to encode the full version for all dependencies
> > into the package, or accept the risk of minor/patch dependency clashes)
> >
>
>
> > Connectors are small enough in scope that depending directly on
> > guava/jackson/etc. is a fine approach, and they have plenty of other
> > dependencies that they need to manage anyway; let's treat these the same
> > way.
> >
>
>
> > Naturally this is also an argument against flink-shaded-connectors; on
> > top of that we already experience repo creep and managing releases is
> > difficult enough as-is.
> >
> >
>
> > As for class-loading, there has been a long-standing goal of each
> > connector being loaded in their own classloader. That still is the north
> > star and the only reasonable way to ensure that multiple connectors can
> > be safely used with SQL.
> >
>
>
> > On 02/10/2023 18:32, Jing Ge wrote:
> > > Hi Sergey,
> > >
> > > Thanks for sharing your thoughts. It could somehow help but didn't get
> to
> > > the root of this issue.
> > >
> > > According to the documentation, Flink shaded is used to provide a
> single
> > > instance of a shaded dependency across sub-modules in Flink repo.
> Shaded
> > > namespaces should be used where shaded dependencies are configured.
> After
> > > connectors have been externalized, it ends up with more repos depending
> > on
> > > one shaded jar, e.g. guava. This is a "monolithic" dependency setup
> that
> > > makes it difficult to change the root(flink-shade), because any changes
> > of
> > > the root have to be propagated to all downstream repos. Even worse is
> > that
> > > not every downstream repo is known while modifying the root.
> > >
> > > Since all externalized connectors have their own repos and are not
> > > sub-modules of Flink anymore, I would suggest the following upgrade:
> > >
> > > 1. Connectors should use their own classloader instead of Flink's
> > > classloader. This will break the monolithic depen

Re: Flink and Flink shaded dependency

2023-10-05 Thread Jing Ge
Hi Chesnay,

Thanks for joining this discussion and sharing your thoughts!


> Connectors shouldn't depend on flink-shaded.
>

Perfect! We are on the same page. If you could read through the discussion,
you would realize that, currently, there are many connectors depend on
flink-shaded.


> Connectors are small enough in scope that depending directly on
> guava/jackson/etc. is a fine approach, and they have plenty of other
> dependencies that they need to manage anyway; let's treat these the same
> way.
>

It is even better, if we could do that. Jira tickest[1] are created.


> As for class-loading, there has been a long-standing goal of each
> connector being loaded in their own classloader. That still is the north
> star and the only reasonable way to ensure that multiple connectors can
> be safely used with SQL.
>

What is the current status? Do we have any Jira ticket for that?

Best regards,
Jing

[1] https://issues.apache.org/jira/browse/FLINK-33190

On Wed, Oct 4, 2023 at 4:43 PM Chesnay Schepler  wrote:

> There is no "monolithic" flink-shaded dependency.
> Connectors shouldn't depend on anything that Flink provides, but be
> self-contained as Martijn pointed out.
>
>

> Connectors shouldn't depend on flink-shaded.
>


> The overhead and/or risks of doing/supporting that right now far
> outweigh the benefits.
> ( Because we either have to encode the full version for all dependencies
> into the package, or accept the risk of minor/patch dependency clashes)
>


> Connectors are small enough in scope that depending directly on
> guava/jackson/etc. is a fine approach, and they have plenty of other
> dependencies that they need to manage anyway; let's treat these the same
> way.
>


> Naturally this is also an argument against flink-shaded-connectors; on
> top of that we already experience repo creep and managing releases is
> difficult enough as-is.
>
>

> As for class-loading, there has been a long-standing goal of each
> connector being loaded in their own classloader. That still is the north
> star and the only reasonable way to ensure that multiple connectors can
> be safely used with SQL.
>


> On 02/10/2023 18:32, Jing Ge wrote:
> > Hi Sergey,
> >
> > Thanks for sharing your thoughts. It could somehow help but didn't get to
> > the root of this issue.
> >
> > According to the documentation, Flink shaded is used to provide a single
> > instance of a shaded dependency across sub-modules in Flink repo. Shaded
> > namespaces should be used where shaded dependencies are configured. After
> > connectors have been externalized, it ends up with more repos depending
> on
> > one shaded jar, e.g. guava. This is a "monolithic" dependency setup that
> > makes it difficult to change the root(flink-shade), because any changes
> of
> > the root have to be propagated to all downstream repos. Even worse is
> that
> > not every downstream repo is known while modifying the root.
> >
> > Since all externalized connectors have their own repos and are not
> > sub-modules of Flink anymore, I would suggest the following upgrade:
> >
> > 1. Connectors should use their own classloader instead of Flink's
> > classloader. This will break the monolithic dependency. Connectors and
> > Flink can use different versions of flink-shaded.
> > 2. [optional] It would be even better that all connector repos depend on
> > their own individual shaded repo, e.g. flink-connector-shaded.
> flink-shaded
> > should only be used by Flink.
> >
> > WDYT?
> >
> > Best regards,
> > Jing
> >
> >
> > On Thu, Sep 14, 2023 at 11:28 PM Sergey Nuyanzin 
> > wrote:
> >
> >> Yes, that's a reasonable question, thanks for raising it.
> >>
> >> I think this is not only about flink-shaded, rather about dependencies
> in
> >> general
> >>
> >> I guess there is no rule of thumb, or at least I'm not aware of
> >> Here are my thoughts
> >> 1. If bumping dependency doesn't require breaking changes and passes
> >> existing tests then just bump it
> >> 2. In case there are breaking changes we could consider doing this
> within
> >> next major release
> >> for minor release
> >>  a. try to answer a question whether it impacts Flink or not
> >>  b. in case it impacts Flink and fix itself is relatively small
> then to
> >> avoid breaking change
> >> we could copy classes with solutions to Flink repo like it
> usually
> >> happens with Calcite related fixes.
> >> The problem of this approach is that I guess it will n

Re: Flink and Flink shaded dependency

2023-10-04 Thread Chesnay Schepler

There is no "monolithic" flink-shaded dependency.
Connectors shouldn't depend on anything that Flink provides, but be 
self-contained as Martijn pointed out.


Connectors shouldn't depend on flink-shaded.
The overhead and/or risks of doing/supporting that right now far 
outweigh the benefits.
( Because we either have to encode the full version for all dependencies 
into the package, or accept the risk of minor/patch dependency clashes)
Connectors are small enough in scope that depending directly on 
guava/jackson/etc. is a fine approach, and they have plenty of other 
dependencies that they need to manage anyway; let's treat these the same 
way.
Naturally this is also an argument against flink-shaded-connectors; on 
top of that we already experience repo creep and managing releases is 
difficult enough as-is.


As for class-loading, there has been a long-standing goal of each 
connector being loaded in their own classloader. That still is the north 
star and the only reasonable way to ensure that multiple connectors can 
be safely used with SQL.


On 02/10/2023 18:32, Jing Ge wrote:

Hi Sergey,

Thanks for sharing your thoughts. It could somehow help but didn't get to
the root of this issue.

According to the documentation, Flink shaded is used to provide a single
instance of a shaded dependency across sub-modules in Flink repo. Shaded
namespaces should be used where shaded dependencies are configured. After
connectors have been externalized, it ends up with more repos depending on
one shaded jar, e.g. guava. This is a "monolithic" dependency setup that
makes it difficult to change the root(flink-shade), because any changes of
the root have to be propagated to all downstream repos. Even worse is that
not every downstream repo is known while modifying the root.

Since all externalized connectors have their own repos and are not
sub-modules of Flink anymore, I would suggest the following upgrade:

1. Connectors should use their own classloader instead of Flink's
classloader. This will break the monolithic dependency. Connectors and
Flink can use different versions of flink-shaded.
2. [optional] It would be even better that all connector repos depend on
their own individual shaded repo, e.g. flink-connector-shaded. flink-shaded
should only be used by Flink.

WDYT?

Best regards,
Jing


On Thu, Sep 14, 2023 at 11:28 PM Sergey Nuyanzin 
wrote:


Yes, that's a reasonable question, thanks for raising it.

I think this is not only about flink-shaded, rather about dependencies in
general

I guess there is no rule of thumb, or at least I'm not aware of
Here are my thoughts
1. If bumping dependency doesn't require breaking changes and passes
existing tests then just bump it
2. In case there are breaking changes we could consider doing this within
next major release
for minor release
 a. try to answer a question whether it impacts Flink or not
 b. in case it impacts Flink and fix itself is relatively small then to
avoid breaking change
we could copy classes with solutions to Flink repo like it usually
happens with Calcite related fixes.
The problem of this approach is that I guess it will not work for
non jvm deps like e.g. RocksDB
 c. In case no way to do it without breaking changes for minor release
then probably need sort of announcement motivating to move to another major
version where the issue is fixed

looking forward to seeing other opinions about that

On Wed, Sep 13, 2023 at 9:47 PM Jing Ge 
wrote:


Hi Sergey,

Thanks for doing the analysis and providing the great insight. I did my

own

analysis and got the same conclusion. I just wanted to use this example

to

kick off a discussion and check if there is a common guideline or concept
in the community to handle such cases, since it seems any bump-up might
have a big impact. This time, we are kind of lucky. What if CVE related
code has been used in Flink? I do see it is an issue that upgrading a lib
in the flink-shaded repo is not recommended because of the complexity.
IMHO, we don't want to put the cart before the horse.

Best regards,
Jing

On Wed, Sep 13, 2023 at 9:11 PM Sergey Nuyanzin 
wrote:


Thanks for raising this

I would suggest trying to double check whether it actually impacts

Flink

or

not.

For instance from one side Calcite between 1.22.0..1.31.0 has a

critical

CVE-2022-39135 [1]
from another side Flink does not use this functionality and is not

impacted

by this.

Regarding guava
After closer look at Guava's high CVE you've mentioned [2]
Based on Github issue describing the problem (exists since 2016) [3]
there is a security issue with class
com.google.common.io.FileBackedOutputStream

While looking at source code for
com.google.common.io.FileBackedOutputStream usage I was not able to

find

such.
Also I was not able to find usage of
org.apache.flink.shaded.guava30.com.google.common.io

.Files#createTempDir

which was fixed within commit [4]
Also I was not able to find other Gua

Re: Flink and Flink shaded dependency

2023-10-02 Thread Jing Ge
t; > of
> > > > > > the
> > > > > > > > > > release cycle, so that there's enough time to stabilize
> > > Flink.
> > > > > > > > >
> > > > > > > > >
> > > > > > > > > This is the information I am looking for. It will help devs
> > > > > > understand
> > > > > > > > the
> > > > > > > > > compatibility between different versions of flink and
> > > > flink-shaded,
> > > > > > if
> > > > > > > it
> > > > > > > > > could be described in the readme. If you don't mind, I can
> > > > create a
> > > > > > pr
> > > > > > > > and
> > > > > > > > > update it.
> > > > > > > > >
> > > > > > > > > Speaking of this rule, I have a follow-up question: do you
> > have
> > > > any
> > > > > > > > concern
> > > > > > > > > if flink-shaded 16.2 will be released and upgraded(from
> 16.1
> > to
> > > > > 16.2)
> > > > > > > in
> > > > > > > > > Flink 1.17? Is there anything we should pay attention to
> > while
> > > > > > > releasing
> > > > > > > > a
> > > > > > > > > new minor flink-shaded version?
> > > > > > > > >
> > > > > > > > > Best regards,
> > > > > > > > > Jing
> > > > > > > > >
> > > > > > > > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> > > > > > > martijnvis...@apache.org
> > > > > > > > >
> > > > > > > > > wrote:
> > > > > > > > >
> > > > > > > > > > Hi Jing,
> > > > > > > > > >
> > > > > > > > > > Flink Shaded exists so that Flinks internal usage of
> > commonly
> > > > > used
> > > > > > > > > packages
> > > > > > > > > > such as Guava, Jackson inside of Flink don't clash with
> > > > different
> > > > > > > > > versions
> > > > > > > > > > that users might use when creating a Flink application.
> > When
> > > I
> > > > > did
> > > > > > > the
> > > > > > > > > > upgrade of Flink Shaded, we already ran into a bunch of
> > > > problems
> > > > > > > > because
> > > > > > > > > a
> > > > > > > > > > lot of the externalized connectors relied on Flink
> Shaded,
> > > > which
> > > > > > made
> > > > > > > > it
> > > > > > > > > > problematic to get the connector to work on both Flink
> 1.17
> > > and
> > > > > > Flink
> > > > > > > > > 1.18.
> > > > > > > > > > There's been quite a lot of effort put into making sure
> > that
> > > > > > > > externalized
> > > > > > > > > > connectors don't rely on Flink Shaded at all anymore, by
> > > either
> > > > > > using
> > > > > > > > > their
> > > > > > > > > > own versions of shaded artifacts (which was the case with
> > the
> > > > > > Pulsar
> > > > > > > > > > connector) or just removing the dependency on Flink
> Shaded
> > > all
> > > > > > > > together,
> > > > > > > > > by
> > > > > > > > > > using regular Java.
> > > > > > > > > >
> > > > > > > > > > If you would upgrade flink-shaded from 16.1 to 17.0 in
> > Flink
> > > > > 1.17,
> > > > > > > you
> > > > > > > > > > would break all externalized connectors that rely on
> Flink
> > > > > Shaded's
> > > > > > > > Guava
> > > > > > > > > > version, plus you potentially would impact the runtime
> > given
> > > > that
> > > > > > > > > there's a
> > > > > > > > > > newer Netty version etc. Flink-Shaded is usually only
> > updated
> > > > > > > whenever
> > > > > > > > a
> > > > > > > > >
> > > > > > > > > new Flink minor version is released and only at the
> beginning
> > > of
> > > > > the
> > > > > > > > > > release cycle, so that there's enough time to stabilize
> > > Flink.
> > > > > > > > >
> > > > > > > > > All in all, we shouldn't upgrade flink-shaded in Flink
> 1.17.
> > > > > > > > > >
> > > > > > > > > > Best regards,
> > > > > > > > > >
> > > > > > > > > > Martijn
> > > > > > > > > >
> > > > > > > > > > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge
> > > > >  > > > > > >
> > > > > > > > > > wrote:
> > > > > > > > > >
> > > > > > > > > > > Hi Dev,
> > > > > > > > > > >
> > > > > > > > > > > Currently Flink 1.17 is using flink-shaded 16.1 and
> Flink
> > > > 1.18
> > > > > is
> > > > > > > > using
> > > > > > > > > > > flink-shaded 17.0. Do we need to consider any
> > compatibility
> > > > > rules
> > > > > > > > > between
> > > > > > > > > > > them? E.g. is there any concern to upgrade flink-shaded
> > > from
> > > > > 16.1
> > > > > > > to
> > > > > > > > > 17.x
> > > > > > > > > > > for Flink 1.17? Or there are some implicit dependency
> > rules
> > > > > > between
> > > > > > > > > > > them. Looking
> > > > > > > > > > > forward to hearing from you.
> > > > > > > > > > >
> > > > > > > > > > > Best regards,
> > > > > > > > > > > Jing
> > > > > > > > > > >
> > > > > > > > > >
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > Best regards,
> > > > > > Sergey
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > Best regards,
> > > Sergey
> > >
> >
>
>
> --
> Best regards,
> Sergey
>


Re: Flink and Flink shaded dependency

2023-09-14 Thread Sergey Nuyanzin
t; > >
> > > > Martijn
> > > >
> > > > On Wed, Sep 13, 2023 at 2:54 PM Sergey Nuyanzin  >
> > > > wrote:
> > > >
> > > > > Hi Jing,
> > > > >
> > > > > If I remember correctly, bumping of guava to another major version
> > > > usually
> > > > > leads to package rename
> > > > > since the major version number is a part of the package name...
> > > > > Not 100% sure however this could be the reason for some potential
> > > > breaking
> > > > > changes (we also faced that with connectors while the last
> > flink-shaded
> > > > > update)
> > > > >
> > > > > On Wed, Sep 13, 2023 at 2:43 PM Jing Ge  >
> > > > > wrote:
> > > > >
> > > > > > Hi Martijn,
> > > > > >
> > > > > > For example, bump up guava from 30.1.1-jre to 32.1.2-jre.
> > > > > >
> > > > > > Best regards,
> > > > > > Jing
> > > > > >
> > > > > > On Wed, Sep 13, 2023 at 2:37 PM Martijn Visser <
> > > > martijnvis...@apache.org
> > > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Jing,
> > > > > > >
> > > > > > > A PR to update the readme sounds like a good plan.
> > > > > > >
> > > > > > > I think it depends on what are the expected updates for a
> > > > flink-shaded
> > > > > > > 16.2, since that version doesn't exist.
> > > > > > >
> > > > > > > Best regards,
> > > > > > >
> > > > > > > Martijn
> > > > > > >
> > > > > > > On Wed, Sep 13, 2023 at 1:48 PM Jing Ge
> >  > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi Martijn,
> > > > > > > >
> > > > > > > > Thanks for your reply with details. Appreciate it.
> > > > > > > >
> > > > > > > >
> > > > > > > > > Flink-Shaded is usually only updated whenever a
> > > > > > > > > new Flink minor version is released and only at the
> beginning
> > > of
> > > > > the
> > > > > > > > > release cycle, so that there's enough time to stabilize
> > Flink.
> > > > > > > >
> > > > > > > >
> > > > > > > > This is the information I am looking for. It will help devs
> > > > > understand
> > > > > > > the
> > > > > > > > compatibility between different versions of flink and
> > > flink-shaded,
> > > > > if
> > > > > > it
> > > > > > > > could be described in the readme. If you don't mind, I can
> > > create a
> > > > > pr
> > > > > > > and
> > > > > > > > update it.
> > > > > > > >
> > > > > > > > Speaking of this rule, I have a follow-up question: do you
> have
> > > any
> > > > > > > concern
> > > > > > > > if flink-shaded 16.2 will be released and upgraded(from 16.1
> to
> > > > 16.2)
> > > > > > in
> > > > > > > > Flink 1.17? Is there anything we should pay attention to
> while
> > > > > > releasing
> > > > > > > a
> > > > > > > > new minor flink-shaded version?
> > > > > > > >
> > > > > > > > Best regards,
> > > > > > > > Jing
> > > > > > > >
> > > > > > > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> > > > > > martijnvis...@apache.org
> > > > > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi Jing,
> > > > > > > > >
> > > > > > > > > Flink Shaded exists so that Flinks internal usage of
> commonly
> > > > used
> > > > > > > > packages
> > > > > > > > > such as Guava, Jackson inside of Flink don't clash with
&g

Re: Flink and Flink shaded dependency

2023-09-13 Thread Jing Ge
rsion doesn't exist.
> > > > > >
> > > > > > Best regards,
> > > > > >
> > > > > > Martijn
> > > > > >
> > > > > > On Wed, Sep 13, 2023 at 1:48 PM Jing Ge
>  > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Martijn,
> > > > > > >
> > > > > > > Thanks for your reply with details. Appreciate it.
> > > > > > >
> > > > > > >
> > > > > > > > Flink-Shaded is usually only updated whenever a
> > > > > > > > new Flink minor version is released and only at the beginning
> > of
> > > > the
> > > > > > > > release cycle, so that there's enough time to stabilize
> Flink.
> > > > > > >
> > > > > > >
> > > > > > > This is the information I am looking for. It will help devs
> > > > understand
> > > > > > the
> > > > > > > compatibility between different versions of flink and
> > flink-shaded,
> > > > if
> > > > > it
> > > > > > > could be described in the readme. If you don't mind, I can
> > create a
> > > > pr
> > > > > > and
> > > > > > > update it.
> > > > > > >
> > > > > > > Speaking of this rule, I have a follow-up question: do you have
> > any
> > > > > > concern
> > > > > > > if flink-shaded 16.2 will be released and upgraded(from 16.1 to
> > > 16.2)
> > > > > in
> > > > > > > Flink 1.17? Is there anything we should pay attention to while
> > > > > releasing
> > > > > > a
> > > > > > > new minor flink-shaded version?
> > > > > > >
> > > > > > > Best regards,
> > > > > > > Jing
> > > > > > >
> > > > > > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> > > > > martijnvis...@apache.org
> > > > > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi Jing,
> > > > > > > >
> > > > > > > > Flink Shaded exists so that Flinks internal usage of commonly
> > > used
> > > > > > > packages
> > > > > > > > such as Guava, Jackson inside of Flink don't clash with
> > different
> > > > > > > versions
> > > > > > > > that users might use when creating a Flink application. When
> I
> > > did
> > > > > the
> > > > > > > > upgrade of Flink Shaded, we already ran into a bunch of
> > problems
> > > > > > because
> > > > > > > a
> > > > > > > > lot of the externalized connectors relied on Flink Shaded,
> > which
> > > > made
> > > > > > it
> > > > > > > > problematic to get the connector to work on both Flink 1.17
> and
> > > > Flink
> > > > > > > 1.18.
> > > > > > > > There's been quite a lot of effort put into making sure that
> > > > > > externalized
> > > > > > > > connectors don't rely on Flink Shaded at all anymore, by
> either
> > > > using
> > > > > > > their
> > > > > > > > own versions of shaded artifacts (which was the case with the
> > > > Pulsar
> > > > > > > > connector) or just removing the dependency on Flink Shaded
> all
> > > > > > together,
> > > > > > > by
> > > > > > > > using regular Java.
> > > > > > > >
> > > > > > > > If you would upgrade flink-shaded from 16.1 to 17.0 in Flink
> > > 1.17,
> > > > > you
> > > > > > > > would break all externalized connectors that rely on Flink
> > > Shaded's
> > > > > > Guava
> > > > > > > > version, plus you potentially would impact the runtime given
> > that
> > > > > > > there's a
> > > > > > > > newer Netty version etc. Flink-Shaded is usually only updated
> > > > > whenever
> > > > > > a
> > > > > > >
> > > > > > > new Flink minor version is released and only at the beginning
> of
> > > the
> > > > > > > > release cycle, so that there's enough time to stabilize
> Flink.
> > > > > > >
> > > > > > > All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
> > > > > > > >
> > > > > > > > Best regards,
> > > > > > > >
> > > > > > > > Martijn
> > > > > > > >
> > > > > > > > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge
> > >  > > > >
> > > > > > > > wrote:
> > > > > > > >
> > > > > > > > > Hi Dev,
> > > > > > > > >
> > > > > > > > > Currently Flink 1.17 is using flink-shaded 16.1 and Flink
> > 1.18
> > > is
> > > > > > using
> > > > > > > > > flink-shaded 17.0. Do we need to consider any compatibility
> > > rules
> > > > > > > between
> > > > > > > > > them? E.g. is there any concern to upgrade flink-shaded
> from
> > > 16.1
> > > > > to
> > > > > > > 17.x
> > > > > > > > > for Flink 1.17? Or there are some implicit dependency rules
> > > > between
> > > > > > > > > them. Looking
> > > > > > > > > forward to hearing from you.
> > > > > > > > >
> > > > > > > > > Best regards,
> > > > > > > > > Jing
> > > > > > > > >
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > Best regards,
> > > > Sergey
> > > >
> > >
> >
>
>
> --
> Best regards,
> Sergey
>


Re: Flink and Flink shaded dependency

2023-09-13 Thread Sergey Nuyanzin
; > could be described in the readme. If you don't mind, I can
> create a
> > > pr
> > > > > and
> > > > > > update it.
> > > > > >
> > > > > > Speaking of this rule, I have a follow-up question: do you have
> any
> > > > > concern
> > > > > > if flink-shaded 16.2 will be released and upgraded(from 16.1 to
> > 16.2)
> > > > in
> > > > > > Flink 1.17? Is there anything we should pay attention to while
> > > > releasing
> > > > > a
> > > > > > new minor flink-shaded version?
> > > > > >
> > > > > > Best regards,
> > > > > > Jing
> > > > > >
> > > > > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> > > > martijnvis...@apache.org
> > > > > >
> > > > > > wrote:
> > > > > >
> > > > > > > Hi Jing,
> > > > > > >
> > > > > > > Flink Shaded exists so that Flinks internal usage of commonly
> > used
> > > > > > packages
> > > > > > > such as Guava, Jackson inside of Flink don't clash with
> different
> > > > > > versions
> > > > > > > that users might use when creating a Flink application. When I
> > did
> > > > the
> > > > > > > upgrade of Flink Shaded, we already ran into a bunch of
> problems
> > > > > because
> > > > > > a
> > > > > > > lot of the externalized connectors relied on Flink Shaded,
> which
> > > made
> > > > > it
> > > > > > > problematic to get the connector to work on both Flink 1.17 and
> > > Flink
> > > > > > 1.18.
> > > > > > > There's been quite a lot of effort put into making sure that
> > > > > externalized
> > > > > > > connectors don't rely on Flink Shaded at all anymore, by either
> > > using
> > > > > > their
> > > > > > > own versions of shaded artifacts (which was the case with the
> > > Pulsar
> > > > > > > connector) or just removing the dependency on Flink Shaded all
> > > > > together,
> > > > > > by
> > > > > > > using regular Java.
> > > > > > >
> > > > > > > If you would upgrade flink-shaded from 16.1 to 17.0 in Flink
> > 1.17,
> > > > you
> > > > > > > would break all externalized connectors that rely on Flink
> > Shaded's
> > > > > Guava
> > > > > > > version, plus you potentially would impact the runtime given
> that
> > > > > > there's a
> > > > > > > newer Netty version etc. Flink-Shaded is usually only updated
> > > > whenever
> > > > > a
> > > > > >
> > > > > > new Flink minor version is released and only at the beginning of
> > the
> > > > > > > release cycle, so that there's enough time to stabilize Flink.
> > > > > >
> > > > > > All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
> > > > > > >
> > > > > > > Best regards,
> > > > > > >
> > > > > > > Martijn
> > > > > > >
> > > > > > > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge
> >  > > >
> > > > > > > wrote:
> > > > > > >
> > > > > > > > Hi Dev,
> > > > > > > >
> > > > > > > > Currently Flink 1.17 is using flink-shaded 16.1 and Flink
> 1.18
> > is
> > > > > using
> > > > > > > > flink-shaded 17.0. Do we need to consider any compatibility
> > rules
> > > > > > between
> > > > > > > > them? E.g. is there any concern to upgrade flink-shaded from
> > 16.1
> > > > to
> > > > > > 17.x
> > > > > > > > for Flink 1.17? Or there are some implicit dependency rules
> > > between
> > > > > > > > them. Looking
> > > > > > > > forward to hearing from you.
> > > > > > > >
> > > > > > > > Best regards,
> > > > > > > > Jing
> > > > > > > >
> > > > > > >
> > > > > >
> > > > >
> > > >
> > >
> > >
> > > --
> > > Best regards,
> > > Sergey
> > >
> >
>


-- 
Best regards,
Sergey


Re: Flink and Flink shaded dependency

2023-09-13 Thread Jing Ge
Hi Sergey, Hi Martijn,

Thanks for the information and suggestions. It is rational.

Since on one hand, we should not do the upgrade according to all your
thoughts, and on the other hand, Guava 30.1.1-jre has known CVEs[1] and the
next closest version that has no CVEs is 32.0.1-jre. Without the upgrade,
users might not be able to use Flink 1.17 in their production and Flink
1.18 has not been released yet. Do we have any known concept, rule, or
process in the community to handle such a common CVE issue?

Best regards,
Jing



[1] https://mvnrepository.com/artifact/com.google.guava/guava/30.1.1-jre

On Wed, Sep 13, 2023 at 4:31 PM Martijn Visser 
wrote:

> Hi Jing,
>
> Like Sergey said, making that change would break all connectors that used
> Flink Shaded in the released versions, given that Guava is part of the
> package name. I think that was the case for Kafka, Pulsar, JDBC, PubSub,
> HBase, Cassandra and maybe even more. We shouldn't do this upgrade.
>
> Best regards,
>
> Martijn
>
> On Wed, Sep 13, 2023 at 2:54 PM Sergey Nuyanzin 
> wrote:
>
> > Hi Jing,
> >
> > If I remember correctly, bumping of guava to another major version
> usually
> > leads to package rename
> > since the major version number is a part of the package name...
> > Not 100% sure however this could be the reason for some potential
> breaking
> > changes (we also faced that with connectors while the last flink-shaded
> > update)
> >
> > On Wed, Sep 13, 2023 at 2:43 PM Jing Ge 
> > wrote:
> >
> > > Hi Martijn,
> > >
> > > For example, bump up guava from 30.1.1-jre to 32.1.2-jre.
> > >
> > > Best regards,
> > > Jing
> > >
> > > On Wed, Sep 13, 2023 at 2:37 PM Martijn Visser <
> martijnvis...@apache.org
> > >
> > > wrote:
> > >
> > > > Hi Jing,
> > > >
> > > > A PR to update the readme sounds like a good plan.
> > > >
> > > > I think it depends on what are the expected updates for a
> flink-shaded
> > > > 16.2, since that version doesn't exist.
> > > >
> > > > Best regards,
> > > >
> > > > Martijn
> > > >
> > > > On Wed, Sep 13, 2023 at 1:48 PM Jing Ge 
> > > > wrote:
> > > >
> > > > > Hi Martijn,
> > > > >
> > > > > Thanks for your reply with details. Appreciate it.
> > > > >
> > > > >
> > > > > > Flink-Shaded is usually only updated whenever a
> > > > > > new Flink minor version is released and only at the beginning of
> > the
> > > > > > release cycle, so that there's enough time to stabilize Flink.
> > > > >
> > > > >
> > > > > This is the information I am looking for. It will help devs
> > understand
> > > > the
> > > > > compatibility between different versions of flink and flink-shaded,
> > if
> > > it
> > > > > could be described in the readme. If you don't mind, I can create a
> > pr
> > > > and
> > > > > update it.
> > > > >
> > > > > Speaking of this rule, I have a follow-up question: do you have any
> > > > concern
> > > > > if flink-shaded 16.2 will be released and upgraded(from 16.1 to
> 16.2)
> > > in
> > > > > Flink 1.17? Is there anything we should pay attention to while
> > > releasing
> > > > a
> > > > > new minor flink-shaded version?
> > > > >
> > > > > Best regards,
> > > > > Jing
> > > > >
> > > > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> > > martijnvis...@apache.org
> > > > >
> > > > > wrote:
> > > > >
> > > > > > Hi Jing,
> > > > > >
> > > > > > Flink Shaded exists so that Flinks internal usage of commonly
> used
> > > > > packages
> > > > > > such as Guava, Jackson inside of Flink don't clash with different
> > > > > versions
> > > > > > that users might use when creating a Flink application. When I
> did
> > > the
> > > > > > upgrade of Flink Shaded, we already ran into a bunch of problems
> > > > because
> > > > > a
> > > > > > lot of the externalized connectors relied on Flink Shaded, which
> > made
> > > > it
> > > > > > problematic to get the connect

Re: Flink and Flink shaded dependency

2023-09-13 Thread Martijn Visser
Hi Jing,

Like Sergey said, making that change would break all connectors that used
Flink Shaded in the released versions, given that Guava is part of the
package name. I think that was the case for Kafka, Pulsar, JDBC, PubSub,
HBase, Cassandra and maybe even more. We shouldn't do this upgrade.

Best regards,

Martijn

On Wed, Sep 13, 2023 at 2:54 PM Sergey Nuyanzin  wrote:

> Hi Jing,
>
> If I remember correctly, bumping of guava to another major version usually
> leads to package rename
> since the major version number is a part of the package name...
> Not 100% sure however this could be the reason for some potential breaking
> changes (we also faced that with connectors while the last flink-shaded
> update)
>
> On Wed, Sep 13, 2023 at 2:43 PM Jing Ge 
> wrote:
>
> > Hi Martijn,
> >
> > For example, bump up guava from 30.1.1-jre to 32.1.2-jre.
> >
> > Best regards,
> > Jing
> >
> > On Wed, Sep 13, 2023 at 2:37 PM Martijn Visser  >
> > wrote:
> >
> > > Hi Jing,
> > >
> > > A PR to update the readme sounds like a good plan.
> > >
> > > I think it depends on what are the expected updates for a flink-shaded
> > > 16.2, since that version doesn't exist.
> > >
> > > Best regards,
> > >
> > > Martijn
> > >
> > > On Wed, Sep 13, 2023 at 1:48 PM Jing Ge 
> > > wrote:
> > >
> > > > Hi Martijn,
> > > >
> > > > Thanks for your reply with details. Appreciate it.
> > > >
> > > >
> > > > > Flink-Shaded is usually only updated whenever a
> > > > > new Flink minor version is released and only at the beginning of
> the
> > > > > release cycle, so that there's enough time to stabilize Flink.
> > > >
> > > >
> > > > This is the information I am looking for. It will help devs
> understand
> > > the
> > > > compatibility between different versions of flink and flink-shaded,
> if
> > it
> > > > could be described in the readme. If you don't mind, I can create a
> pr
> > > and
> > > > update it.
> > > >
> > > > Speaking of this rule, I have a follow-up question: do you have any
> > > concern
> > > > if flink-shaded 16.2 will be released and upgraded(from 16.1 to 16.2)
> > in
> > > > Flink 1.17? Is there anything we should pay attention to while
> > releasing
> > > a
> > > > new minor flink-shaded version?
> > > >
> > > > Best regards,
> > > > Jing
> > > >
> > > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> > martijnvis...@apache.org
> > > >
> > > > wrote:
> > > >
> > > > > Hi Jing,
> > > > >
> > > > > Flink Shaded exists so that Flinks internal usage of commonly used
> > > > packages
> > > > > such as Guava, Jackson inside of Flink don't clash with different
> > > > versions
> > > > > that users might use when creating a Flink application. When I did
> > the
> > > > > upgrade of Flink Shaded, we already ran into a bunch of problems
> > > because
> > > > a
> > > > > lot of the externalized connectors relied on Flink Shaded, which
> made
> > > it
> > > > > problematic to get the connector to work on both Flink 1.17 and
> Flink
> > > > 1.18.
> > > > > There's been quite a lot of effort put into making sure that
> > > externalized
> > > > > connectors don't rely on Flink Shaded at all anymore, by either
> using
> > > > their
> > > > > own versions of shaded artifacts (which was the case with the
> Pulsar
> > > > > connector) or just removing the dependency on Flink Shaded all
> > > together,
> > > > by
> > > > > using regular Java.
> > > > >
> > > > > If you would upgrade flink-shaded from 16.1 to 17.0 in Flink 1.17,
> > you
> > > > > would break all externalized connectors that rely on Flink Shaded's
> > > Guava
> > > > > version, plus you potentially would impact the runtime given that
> > > > there's a
> > > > > newer Netty version etc. Flink-Shaded is usually only updated
> > whenever
> > > a
> > > >
> > > > new Flink minor version is released and only at the beginning of the
> > > > > release cycle, so that there's enough time to stabilize Flink.
> > > >
> > > > All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
> > > > >
> > > > > Best regards,
> > > > >
> > > > > Martijn
> > > > >
> > > > > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge  >
> > > > > wrote:
> > > > >
> > > > > > Hi Dev,
> > > > > >
> > > > > > Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is
> > > using
> > > > > > flink-shaded 17.0. Do we need to consider any compatibility rules
> > > > between
> > > > > > them? E.g. is there any concern to upgrade flink-shaded from 16.1
> > to
> > > > 17.x
> > > > > > for Flink 1.17? Or there are some implicit dependency rules
> between
> > > > > > them. Looking
> > > > > > forward to hearing from you.
> > > > > >
> > > > > > Best regards,
> > > > > > Jing
> > > > > >
> > > > >
> > > >
> > >
> >
>
>
> --
> Best regards,
> Sergey
>


Re: Flink and Flink shaded dependency

2023-09-13 Thread Sergey Nuyanzin
Hi Jing,

If I remember correctly, bumping of guava to another major version usually
leads to package rename
since the major version number is a part of the package name...
Not 100% sure however this could be the reason for some potential breaking
changes (we also faced that with connectors while the last flink-shaded
update)

On Wed, Sep 13, 2023 at 2:43 PM Jing Ge  wrote:

> Hi Martijn,
>
> For example, bump up guava from 30.1.1-jre to 32.1.2-jre.
>
> Best regards,
> Jing
>
> On Wed, Sep 13, 2023 at 2:37 PM Martijn Visser 
> wrote:
>
> > Hi Jing,
> >
> > A PR to update the readme sounds like a good plan.
> >
> > I think it depends on what are the expected updates for a flink-shaded
> > 16.2, since that version doesn't exist.
> >
> > Best regards,
> >
> > Martijn
> >
> > On Wed, Sep 13, 2023 at 1:48 PM Jing Ge 
> > wrote:
> >
> > > Hi Martijn,
> > >
> > > Thanks for your reply with details. Appreciate it.
> > >
> > >
> > > > Flink-Shaded is usually only updated whenever a
> > > > new Flink minor version is released and only at the beginning of the
> > > > release cycle, so that there's enough time to stabilize Flink.
> > >
> > >
> > > This is the information I am looking for. It will help devs understand
> > the
> > > compatibility between different versions of flink and flink-shaded, if
> it
> > > could be described in the readme. If you don't mind, I can create a pr
> > and
> > > update it.
> > >
> > > Speaking of this rule, I have a follow-up question: do you have any
> > concern
> > > if flink-shaded 16.2 will be released and upgraded(from 16.1 to 16.2)
> in
> > > Flink 1.17? Is there anything we should pay attention to while
> releasing
> > a
> > > new minor flink-shaded version?
> > >
> > > Best regards,
> > > Jing
> > >
> > > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser <
> martijnvis...@apache.org
> > >
> > > wrote:
> > >
> > > > Hi Jing,
> > > >
> > > > Flink Shaded exists so that Flinks internal usage of commonly used
> > > packages
> > > > such as Guava, Jackson inside of Flink don't clash with different
> > > versions
> > > > that users might use when creating a Flink application. When I did
> the
> > > > upgrade of Flink Shaded, we already ran into a bunch of problems
> > because
> > > a
> > > > lot of the externalized connectors relied on Flink Shaded, which made
> > it
> > > > problematic to get the connector to work on both Flink 1.17 and Flink
> > > 1.18.
> > > > There's been quite a lot of effort put into making sure that
> > externalized
> > > > connectors don't rely on Flink Shaded at all anymore, by either using
> > > their
> > > > own versions of shaded artifacts (which was the case with the Pulsar
> > > > connector) or just removing the dependency on Flink Shaded all
> > together,
> > > by
> > > > using regular Java.
> > > >
> > > > If you would upgrade flink-shaded from 16.1 to 17.0 in Flink 1.17,
> you
> > > > would break all externalized connectors that rely on Flink Shaded's
> > Guava
> > > > version, plus you potentially would impact the runtime given that
> > > there's a
> > > > newer Netty version etc. Flink-Shaded is usually only updated
> whenever
> > a
> > >
> > > new Flink minor version is released and only at the beginning of the
> > > > release cycle, so that there's enough time to stabilize Flink.
> > >
> > > All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
> > > >
> > > > Best regards,
> > > >
> > > > Martijn
> > > >
> > > > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge 
> > > > wrote:
> > > >
> > > > > Hi Dev,
> > > > >
> > > > > Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is
> > using
> > > > > flink-shaded 17.0. Do we need to consider any compatibility rules
> > > between
> > > > > them? E.g. is there any concern to upgrade flink-shaded from 16.1
> to
> > > 17.x
> > > > > for Flink 1.17? Or there are some implicit dependency rules between
> > > > > them. Looking
> > > > > forward to hearing from you.
> > > > >
> > > > > Best regards,
> > > > > Jing
> > > > >
> > > >
> > >
> >
>


-- 
Best regards,
Sergey


Re: Flink and Flink shaded dependency

2023-09-13 Thread Jing Ge
Hi Martijn,

For example, bump up guava from 30.1.1-jre to 32.1.2-jre.

Best regards,
Jing

On Wed, Sep 13, 2023 at 2:37 PM Martijn Visser 
wrote:

> Hi Jing,
>
> A PR to update the readme sounds like a good plan.
>
> I think it depends on what are the expected updates for a flink-shaded
> 16.2, since that version doesn't exist.
>
> Best regards,
>
> Martijn
>
> On Wed, Sep 13, 2023 at 1:48 PM Jing Ge 
> wrote:
>
> > Hi Martijn,
> >
> > Thanks for your reply with details. Appreciate it.
> >
> >
> > > Flink-Shaded is usually only updated whenever a
> > > new Flink minor version is released and only at the beginning of the
> > > release cycle, so that there's enough time to stabilize Flink.
> >
> >
> > This is the information I am looking for. It will help devs understand
> the
> > compatibility between different versions of flink and flink-shaded, if it
> > could be described in the readme. If you don't mind, I can create a pr
> and
> > update it.
> >
> > Speaking of this rule, I have a follow-up question: do you have any
> concern
> > if flink-shaded 16.2 will be released and upgraded(from 16.1 to 16.2) in
> > Flink 1.17? Is there anything we should pay attention to while releasing
> a
> > new minor flink-shaded version?
> >
> > Best regards,
> > Jing
> >
> > On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser  >
> > wrote:
> >
> > > Hi Jing,
> > >
> > > Flink Shaded exists so that Flinks internal usage of commonly used
> > packages
> > > such as Guava, Jackson inside of Flink don't clash with different
> > versions
> > > that users might use when creating a Flink application. When I did the
> > > upgrade of Flink Shaded, we already ran into a bunch of problems
> because
> > a
> > > lot of the externalized connectors relied on Flink Shaded, which made
> it
> > > problematic to get the connector to work on both Flink 1.17 and Flink
> > 1.18.
> > > There's been quite a lot of effort put into making sure that
> externalized
> > > connectors don't rely on Flink Shaded at all anymore, by either using
> > their
> > > own versions of shaded artifacts (which was the case with the Pulsar
> > > connector) or just removing the dependency on Flink Shaded all
> together,
> > by
> > > using regular Java.
> > >
> > > If you would upgrade flink-shaded from 16.1 to 17.0 in Flink 1.17, you
> > > would break all externalized connectors that rely on Flink Shaded's
> Guava
> > > version, plus you potentially would impact the runtime given that
> > there's a
> > > newer Netty version etc. Flink-Shaded is usually only updated whenever
> a
> >
> > new Flink minor version is released and only at the beginning of the
> > > release cycle, so that there's enough time to stabilize Flink.
> >
> > All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
> > >
> > > Best regards,
> > >
> > > Martijn
> > >
> > > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge 
> > > wrote:
> > >
> > > > Hi Dev,
> > > >
> > > > Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is
> using
> > > > flink-shaded 17.0. Do we need to consider any compatibility rules
> > between
> > > > them? E.g. is there any concern to upgrade flink-shaded from 16.1 to
> > 17.x
> > > > for Flink 1.17? Or there are some implicit dependency rules between
> > > > them. Looking
> > > > forward to hearing from you.
> > > >
> > > > Best regards,
> > > > Jing
> > > >
> > >
> >
>


Re: Flink and Flink shaded dependency

2023-09-13 Thread Martijn Visser
Hi Jing,

A PR to update the readme sounds like a good plan.

I think it depends on what are the expected updates for a flink-shaded
16.2, since that version doesn't exist.

Best regards,

Martijn

On Wed, Sep 13, 2023 at 1:48 PM Jing Ge  wrote:

> Hi Martijn,
>
> Thanks for your reply with details. Appreciate it.
>
>
> > Flink-Shaded is usually only updated whenever a
> > new Flink minor version is released and only at the beginning of the
> > release cycle, so that there's enough time to stabilize Flink.
>
>
> This is the information I am looking for. It will help devs understand the
> compatibility between different versions of flink and flink-shaded, if it
> could be described in the readme. If you don't mind, I can create a pr and
> update it.
>
> Speaking of this rule, I have a follow-up question: do you have any concern
> if flink-shaded 16.2 will be released and upgraded(from 16.1 to 16.2) in
> Flink 1.17? Is there anything we should pay attention to while releasing a
> new minor flink-shaded version?
>
> Best regards,
> Jing
>
> On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser 
> wrote:
>
> > Hi Jing,
> >
> > Flink Shaded exists so that Flinks internal usage of commonly used
> packages
> > such as Guava, Jackson inside of Flink don't clash with different
> versions
> > that users might use when creating a Flink application. When I did the
> > upgrade of Flink Shaded, we already ran into a bunch of problems because
> a
> > lot of the externalized connectors relied on Flink Shaded, which made it
> > problematic to get the connector to work on both Flink 1.17 and Flink
> 1.18.
> > There's been quite a lot of effort put into making sure that externalized
> > connectors don't rely on Flink Shaded at all anymore, by either using
> their
> > own versions of shaded artifacts (which was the case with the Pulsar
> > connector) or just removing the dependency on Flink Shaded all together,
> by
> > using regular Java.
> >
> > If you would upgrade flink-shaded from 16.1 to 17.0 in Flink 1.17, you
> > would break all externalized connectors that rely on Flink Shaded's Guava
> > version, plus you potentially would impact the runtime given that
> there's a
> > newer Netty version etc. Flink-Shaded is usually only updated whenever a
>
> new Flink minor version is released and only at the beginning of the
> > release cycle, so that there's enough time to stabilize Flink.
>
> All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
> >
> > Best regards,
> >
> > Martijn
> >
> > On Tue, Sep 12, 2023 at 7:26 PM Jing Ge 
> > wrote:
> >
> > > Hi Dev,
> > >
> > > Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is using
> > > flink-shaded 17.0. Do we need to consider any compatibility rules
> between
> > > them? E.g. is there any concern to upgrade flink-shaded from 16.1 to
> 17.x
> > > for Flink 1.17? Or there are some implicit dependency rules between
> > > them. Looking
> > > forward to hearing from you.
> > >
> > > Best regards,
> > > Jing
> > >
> >
>


Re: Flink and Flink shaded dependency

2023-09-13 Thread Jing Ge
Hi Martijn,

Thanks for your reply with details. Appreciate it.


> Flink-Shaded is usually only updated whenever a
> new Flink minor version is released and only at the beginning of the
> release cycle, so that there's enough time to stabilize Flink.


This is the information I am looking for. It will help devs understand the
compatibility between different versions of flink and flink-shaded, if it
could be described in the readme. If you don't mind, I can create a pr and
update it.

Speaking of this rule, I have a follow-up question: do you have any concern
if flink-shaded 16.2 will be released and upgraded(from 16.1 to 16.2) in
Flink 1.17? Is there anything we should pay attention to while releasing a
new minor flink-shaded version?

Best regards,
Jing

On Wed, Sep 13, 2023 at 9:01 AM Martijn Visser 
wrote:

> Hi Jing,
>
> Flink Shaded exists so that Flinks internal usage of commonly used packages
> such as Guava, Jackson inside of Flink don't clash with different versions
> that users might use when creating a Flink application. When I did the
> upgrade of Flink Shaded, we already ran into a bunch of problems because a
> lot of the externalized connectors relied on Flink Shaded, which made it
> problematic to get the connector to work on both Flink 1.17 and Flink 1.18.
> There's been quite a lot of effort put into making sure that externalized
> connectors don't rely on Flink Shaded at all anymore, by either using their
> own versions of shaded artifacts (which was the case with the Pulsar
> connector) or just removing the dependency on Flink Shaded all together, by
> using regular Java.
>
> If you would upgrade flink-shaded from 16.1 to 17.0 in Flink 1.17, you
> would break all externalized connectors that rely on Flink Shaded's Guava
> version, plus you potentially would impact the runtime given that there's a
> newer Netty version etc. Flink-Shaded is usually only updated whenever a

new Flink minor version is released and only at the beginning of the
> release cycle, so that there's enough time to stabilize Flink.

All in all, we shouldn't upgrade flink-shaded in Flink 1.17.
>
> Best regards,
>
> Martijn
>
> On Tue, Sep 12, 2023 at 7:26 PM Jing Ge 
> wrote:
>
> > Hi Dev,
> >
> > Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is using
> > flink-shaded 17.0. Do we need to consider any compatibility rules between
> > them? E.g. is there any concern to upgrade flink-shaded from 16.1 to 17.x
> > for Flink 1.17? Or there are some implicit dependency rules between
> > them. Looking
> > forward to hearing from you.
> >
> > Best regards,
> > Jing
> >
>


Re: Flink and Flink shaded dependency

2023-09-13 Thread Martijn Visser
Hi Jing,

Flink Shaded exists so that Flinks internal usage of commonly used packages
such as Guava, Jackson inside of Flink don't clash with different versions
that users might use when creating a Flink application. When I did the
upgrade of Flink Shaded, we already ran into a bunch of problems because a
lot of the externalized connectors relied on Flink Shaded, which made it
problematic to get the connector to work on both Flink 1.17 and Flink 1.18.
There's been quite a lot of effort put into making sure that externalized
connectors don't rely on Flink Shaded at all anymore, by either using their
own versions of shaded artifacts (which was the case with the Pulsar
connector) or just removing the dependency on Flink Shaded all together, by
using regular Java.

If you would upgrade flink-shaded from 16.1 to 17.0 in Flink 1.17, you
would break all externalized connectors that rely on Flink Shaded's Guava
version, plus you potentially would impact the runtime given that there's a
newer Netty version etc. Flink-Shaded is usually only updated whenever a
new Flink minor version is released and only at the beginning of the
release cycle, so that there's enough time to stabilize Flink. All in all,
we shouldn't upgrade flink-shaded in Flink 1.17.

Best regards,

Martijn

On Tue, Sep 12, 2023 at 7:26 PM Jing Ge  wrote:

> Hi Dev,
>
> Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is using
> flink-shaded 17.0. Do we need to consider any compatibility rules between
> them? E.g. is there any concern to upgrade flink-shaded from 16.1 to 17.x
> for Flink 1.17? Or there are some implicit dependency rules between
> them. Looking
> forward to hearing from you.
>
> Best regards,
> Jing
>


Flink and Flink shaded dependency

2023-09-12 Thread Jing Ge
Hi Dev,

Currently Flink 1.17 is using flink-shaded 16.1 and Flink 1.18 is using
flink-shaded 17.0. Do we need to consider any compatibility rules between
them? E.g. is there any concern to upgrade flink-shaded from 16.1 to 17.x
for Flink 1.17? Or there are some implicit dependency rules between
them. Looking
forward to hearing from you.

Best regards,
Jing