You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by Alexander Fedulov <al...@ververica.com> on 2022/07/06 11:35:05 UTC

Re: [DISCUSS] Publish flink-end-to-end-tests-common to Maven

Hi Chesnay,

the following classes also need to be migrated along with the
*FlinkContainerTestEnvironment*:

*JobSubmission*

*SQLJobSubmission*

*ParameterProperty*

*FileUtils*


We can either put them directly into* flink-connector-test-utils *or
into *flink-test-utils
*and add a dependency *flink-end-to-end-tests-common -> **flink-test-utils.*

What would be your preference?


Best,

Alex



On Mon, May 30, 2022 at 10:59 AM Jing Ge <ji...@ververica.com> wrote:

> Thanks for starting this discussion. I think it makes sense to make a clear
> definition and goal of ITCases and e2e tests. For me, compared to e2e
> tests, ITCases are more lightweight and only focus on some specific part of
> the e2e pipeline. E2e tests cover the whole pipeline and could be
> considered as part of the acceptance test.
>
> Best regards,
> Jing
>
> On Mon, May 30, 2022 at 10:46 AM Alexander Fedulov <
> alexander@ververica.com>
> wrote:
>
> > Thanks for the clarifications. I agree then that it indeed makes sense to
> > move the related classes into connector-test-utils for now and reconsider
> > when and if concrete use cases of FlinkContainerTestEnvironment outside
> of
> > the connectors' scope come up.
> >
> >
> > On Wed, May 25, 2022 at 5:23 PM Chesnay Schepler <ch...@apache.org>
> > wrote:
> >
> > > 1) That's a fair point. So far everything that came out of the
> connector
> > > e2e framework was unfortunately somehow coupled to connectors
> > > conceptually. I wouldn't mind changing that, because as you said this
> > > could also be useful for other things, but it needs a more holistic
> view
> > > over the entire story.
> > > That said I'm not sure how usable these things are at this time outside
> > > of the connector e2e framework, hence why I'd also consider
> > > connector-test-utils as a valid place _for now_.
> > >
> > > 2) As far as I'm concerned flink-end-to-end-tests-common is a
> deprecated
> > > module containing legacy code. It primarily contains the java based e2e
> > > framework I wrote years back which never got any traction, and in all
> > > likelihood will not gain traction in the future. Unfortunately the
> > > connector framework was written completely independent from what is
> > > already there.
> > >
> > > 3) Generally I agree. That the environment has a dependency on
> > > connector-test-utils was one of the reasons why I proposed to move it
> > > there.
> > >
> > > In general we need to re-think how we organize e2e tests/utils, and
> > > whether we even want to differentiate between ITCases and e2e tests,
> > > because as is the tests are all over the place (some in the modules,
> > > some in flink-e2e-tests).
> > >
> > > On 25/05/2022 17:06, Alexander Fedulov wrote:
> > > > I see. A couple of considerations:
> > > >
> > > > 1. I would assume FlinkContainerTestEnvironment could be used for
> more
> > > > things than solely connectors, hence it should ideally not be placed
> > into
> > > > flink-connector-test-utils
> > > >
> > > > 2. If we put it and its dependencies into flink-test-utils, what
> would
> > be
> > > > the purpose of the existence of the flink-end-to-end-tests-common
> > module,
> > > > if we then will also have E2E utilities in flink-test-utils? (other
> > than
> > > > for segregating stuff that isn't really in a state where we want to
> > share
> > > > it )
> > > >
> > > > 3. If (1.) is true, it seems that ClusterControllable,
> TestEnvironment,
> > > and
> > > > TestEnvironmentSettings are currently misplaced in
> > > > flink-connector-test-utils and should be moved together
> > > > with FlinkContainerTestEnvironment.
> > > >
> > > > Let me know what you think.
> > > >
> > > > Thanks,
> > > > Alexander Fedulov
> > > >
> > > >
> > > > On Wed, May 25, 2022 at 3:56 PM Chesnay Schepler <chesnay@apache.org
> >
> > > wrote:
> > > >
> > > >> I'd be more inclined to move the FlinkContainerTestEnvironment to
> > > >> flink-(connector-)test-utils for the time being, because the vast
> > > >> majority of stuff in flink-end-to-end-tests-common isn't really in a
> > > >> state where we want to share it.
> > > >>
> > > >> On 25/05/2022 11:55, Alexander Fedulov wrote:
> > > >>> Hi everyone,
> > > >>>
> > > >>> As part of the efforts to externalize the connectors, it became
> > evident
> > > >>> that some test utilities that reside in Flink will be required in
> the
> > > >>> external connector repositories. For instance,
> > > >> FlinkContainerTestEnvironment
> > > >>> and its dependencies reside in the flink-end-to-end-tests-common
> > module
> > > >> that
> > > >>> is currently not published to Maven (there is only an older version
> > > from
> > > >>> Cloudera available) [1].
> > > >>>
> > > >>> I would like to propose to also publish this dependency to Maven.
> > What
> > > do
> > > >>> you think?
> > > >>>
> > > >>> [1]
> https://mvnrepository.com/search?q=flink-end-to-end-tests-common
> > > >>>
> > > >>> Best,
> > > >>> Alexander Fedulov
> > > >>>
> > > >>
> > >
> > >
> >
>

Re: [DISCUSS] Publish flink-end-to-end-tests-common to Maven

Posted by Alexander Fedulov <al...@ververica.com>.
I decided that the classes listed above are generic enough to be placed
into *flink-test-utils*.

Here is the PR for the discussed changes that needs a review:
https://github.com/apache/flink/pull/20188

Best,
Alex


On Wed, Jul 6, 2022 at 1:35 PM Alexander Fedulov <al...@ververica.com>
wrote:

> Hi Chesnay,
>
> the following classes also need to be migrated along with the
> *FlinkContainerTestEnvironment*:
>
> *JobSubmission*
>
> *SQLJobSubmission*
>
> *ParameterProperty*
>
> *FileUtils*
>
>
> We can either put them directly into* flink-connector-test-utils *or into *flink-test-utils
> *and add a dependency *flink-end-to-end-tests-common -> *
> *flink-test-utils.*
>
> What would be your preference?
>
>
> Best,
>
> Alex
>
>
>
> On Mon, May 30, 2022 at 10:59 AM Jing Ge <ji...@ververica.com> wrote:
>
>> Thanks for starting this discussion. I think it makes sense to make a
>> clear
>> definition and goal of ITCases and e2e tests. For me, compared to e2e
>> tests, ITCases are more lightweight and only focus on some specific part
>> of
>> the e2e pipeline. E2e tests cover the whole pipeline and could be
>> considered as part of the acceptance test.
>>
>> Best regards,
>> Jing
>>
>> On Mon, May 30, 2022 at 10:46 AM Alexander Fedulov <
>> alexander@ververica.com>
>> wrote:
>>
>> > Thanks for the clarifications. I agree then that it indeed makes sense
>> to
>> > move the related classes into connector-test-utils for now and
>> reconsider
>> > when and if concrete use cases of FlinkContainerTestEnvironment outside
>> of
>> > the connectors' scope come up.
>> >
>> >
>> > On Wed, May 25, 2022 at 5:23 PM Chesnay Schepler <ch...@apache.org>
>> > wrote:
>> >
>> > > 1) That's a fair point. So far everything that came out of the
>> connector
>> > > e2e framework was unfortunately somehow coupled to connectors
>> > > conceptually. I wouldn't mind changing that, because as you said this
>> > > could also be useful for other things, but it needs a more holistic
>> view
>> > > over the entire story.
>> > > That said I'm not sure how usable these things are at this time
>> outside
>> > > of the connector e2e framework, hence why I'd also consider
>> > > connector-test-utils as a valid place _for now_.
>> > >
>> > > 2) As far as I'm concerned flink-end-to-end-tests-common is a
>> deprecated
>> > > module containing legacy code. It primarily contains the java based
>> e2e
>> > > framework I wrote years back which never got any traction, and in all
>> > > likelihood will not gain traction in the future. Unfortunately the
>> > > connector framework was written completely independent from what is
>> > > already there.
>> > >
>> > > 3) Generally I agree. That the environment has a dependency on
>> > > connector-test-utils was one of the reasons why I proposed to move it
>> > > there.
>> > >
>> > > In general we need to re-think how we organize e2e tests/utils, and
>> > > whether we even want to differentiate between ITCases and e2e tests,
>> > > because as is the tests are all over the place (some in the modules,
>> > > some in flink-e2e-tests).
>> > >
>> > > On 25/05/2022 17:06, Alexander Fedulov wrote:
>> > > > I see. A couple of considerations:
>> > > >
>> > > > 1. I would assume FlinkContainerTestEnvironment could be used for
>> more
>> > > > things than solely connectors, hence it should ideally not be placed
>> > into
>> > > > flink-connector-test-utils
>> > > >
>> > > > 2. If we put it and its dependencies into flink-test-utils, what
>> would
>> > be
>> > > > the purpose of the existence of the flink-end-to-end-tests-common
>> > module,
>> > > > if we then will also have E2E utilities in flink-test-utils? (other
>> > than
>> > > > for segregating stuff that isn't really in a state where we want to
>> > share
>> > > > it )
>> > > >
>> > > > 3. If (1.) is true, it seems that ClusterControllable,
>> TestEnvironment,
>> > > and
>> > > > TestEnvironmentSettings are currently misplaced in
>> > > > flink-connector-test-utils and should be moved together
>> > > > with FlinkContainerTestEnvironment.
>> > > >
>> > > > Let me know what you think.
>> > > >
>> > > > Thanks,
>> > > > Alexander Fedulov
>> > > >
>> > > >
>> > > > On Wed, May 25, 2022 at 3:56 PM Chesnay Schepler <
>> chesnay@apache.org>
>> > > wrote:
>> > > >
>> > > >> I'd be more inclined to move the FlinkContainerTestEnvironment to
>> > > >> flink-(connector-)test-utils for the time being, because the vast
>> > > >> majority of stuff in flink-end-to-end-tests-common isn't really in
>> a
>> > > >> state where we want to share it.
>> > > >>
>> > > >> On 25/05/2022 11:55, Alexander Fedulov wrote:
>> > > >>> Hi everyone,
>> > > >>>
>> > > >>> As part of the efforts to externalize the connectors, it became
>> > evident
>> > > >>> that some test utilities that reside in Flink will be required in
>> the
>> > > >>> external connector repositories. For instance,
>> > > >> FlinkContainerTestEnvironment
>> > > >>> and its dependencies reside in the flink-end-to-end-tests-common
>> > module
>> > > >> that
>> > > >>> is currently not published to Maven (there is only an older
>> version
>> > > from
>> > > >>> Cloudera available) [1].
>> > > >>>
>> > > >>> I would like to propose to also publish this dependency to Maven.
>> > What
>> > > do
>> > > >>> you think?
>> > > >>>
>> > > >>> [1]
>> https://mvnrepository.com/search?q=flink-end-to-end-tests-common
>> > > >>>
>> > > >>> Best,
>> > > >>> Alexander Fedulov
>> > > >>>
>> > > >>
>> > >
>> > >
>> >
>>
>