Oh, Thanks for your quick response, I have copied the content to JIRA.

Chesnay Schepler <ches...@apache.org> 于2019年5月23日周四 下午7:03写道:

> Please post your mail as a comment into the JIRA to consolidate the
> discussion there.
>
> On 23/05/2019 12:55, jincheng sun wrote:
> > Thank you for confirming this is an issue,and thanks a lot for your
> double
> > check. Due to the script check logic is incorrect, most of the outputs
> are
> > incorrect.
> >
> > You are right and I just pointed out the problem of the scala-free check
> > and not mentioned the final solution which I think we should discuss it.
> >
> > I tried to understand you and have modified the script a bit and have got
> > the same results as you mentioned(In my local).
> > The main changes are as follows:
> > 1) Adds test modules which should be checked:
> > !flink-fs-tests,!flink-yarn-tests,!flink-tests
> > 2) Marks the modules as infected which depend on scala trasitively or
> > depend on modules suffixed with `_{scala_version}`
> >
> > I think we should discuss the rule of how to check whether a module is
> > scala-free or not.
> > If I understand you correctly, the rule in your mind may be as follows:
> >
> > 1) All the modules should check the dependencies(excluding the
> dependencies
> > introduced by the test code). Regarding to modules flink-fs-tests,
> >     flink-yarn-tests and flink-tests, the dependencies introduced by the
> > test code should also be checked.
> > 2) The checking rule is whether a module depends on scala trasitively or
> > depends on modules suffixed with `_{scala_version}`.
> > Following the above rules, we can get results you mentioned(Only 3
> modules
> > with incorrect artifact id).
> >
> > Open question:
> >
> > Currently, all the test code are also released into the repository, such
> as
> >
> http://central.maven.org/maven2/org/apache/flink/flink-avro/1.8.0/flink-avro-1.8.0-tests.jar
> > .
> > Users can also depend on these jars. My question is why we need to check
> > the test dependencies for modules flink-fs-tests, flink-yarn-tests and
> > flink-tests,
> > but not check the test dependencies for other modules?
> >
> > The solution:
> > If we follow the rule you mentioned, the change is as follows:
> > 1) Correct the check logic for the script
> > 2) Correct the artifact id for modules:  flink-connector-hive,
> > flink-queryable-state-client-java
> > 3) Add the scala dependencies for the module flink-table-api-scala due we
> > plan to add the scala code(I discussed with Timo and Aljoscha)
> >
> > If we should check other test code for other modules, maybe we need more
> > changes. But it depends on the above open question.
> >
> > I have already opened the JIRA:
> > https://issues.apache.org/jira/browse/FLINK-12602
> >
> > Feel free to discuss the solution in this mail thread or in the JIRA.
> >
> > Best,
> > Jincheng
> >
> > Chesnay Schepler <ches...@apache.org> 于2019年5月22日周三 下午8:50写道:
> >
> >> You do have a point, but your output is mostly incorrect.
> >>
> >> There are only 3 modules that have a suffix, which don't need it:
> >>
> >>     -
> >>
> >>     flink-connector-hive
> >>
> >>     -
> >>
> >>     flink-queryable-state-client-java
> >>
> >>     -
> >>
> >>     flink-table-api-scala
> >>
> >>
> >> The remaining do need it since they have dependencies with a
> scala-suffix
> >> (mostly on runtime and streaming-java).
> >>
> >> Your change does make sense to me, but there's likely another issue in
> the
> >> preceding logic that determines which module is scala-free.
> >> flink-tests for example should not be considered scala-free, since it
> >> relies on flink-runtime which contains scala and hence the scala-lang
> >> dependencies, but it apparently is given that your change detects
> something.
> >>
> >> In any case, please open a JIRA:
> >>
> >> On 22/05/2019 13:31, jincheng sun wrote:
> >>
> >> Hi all,
> >>
> >> I find a shell issue in `verify_scala_suffixes.sh`(line 145) as follows:
> >> ```
> >> grep "${module}_\d\+\.\d\+</artifactId>" "{}"
> >> ```
> >> This code want to find out all modules that the module's `artifactId`
> with
> >> a `scala_binary_version` suffix.
> >> but the problem is our all `artifactId` value is in the pattern of
> >> `XXX_${scala.binary.version}`, such as:
> >> ```
> >> <artifactId>flink-tests_${scala.binary.version}</artifactId>
> >> ```
> >> then the find out always empty, so this check did not take effect.
> >>
> >> When I correct the script as follows:
> >>
> >> ```
> >> grep "${module}_\\${scala.binary.version}</artifactId>" "{}"
> >> ```
> >> we find there more than 10 modules have incorrect `artifactId` config.
> as
> >> follows:
> >>
> >> 1.flink-connector-hive
> >> 2.flink-fs-tests
> >> 3.flink-queryable-state-client-java
> >> 4.flink-sql-connector-elasticsearch6
> >> 5.flink-sql-connector-kafka
> >> 6.flink-sql-connector-kafka-0.10
> >> 7.flink-sql-connector-kafka-0.11
> >> 8.flink-sql-connector-kafka-0.9
> >> 9.flink-table-api-scala
> >> 10.flink-tests
> >> 11.flink-yarn-tests
> >>
> >> And to fix this issue, we need a big change, such as:
> >>      - correct the `artifactId` config.
> >>      - update the dependency of relation modules.
> >>      - release the connector into the repo.
> >>      - update some of the doc for `connector.zh.md` and `connector.md`.
> >>      - others
> >>
> >> >From the points of my view, It's better to fix this issue before the
> flink
> >> 1.9 release.
> >>
> >> What do you think?
> >>
> >> NOTE: Please remind me if I have a missing above!
> >>
> >> 1. The script code change:
> https://github.com/sunjincheng121/flink/commit/736f16a8a76aaef1018cc754f0effec119e43120
> >> 2. The CI test result:
> https://api.travis-ci.org/v3/job/535719615/log.txt
> >>
> >> Regards,
> >> Jincheng
> >>
> >>
> >>
> >>
>
>

Reply via email to