Hi Ran, Wouldn't a Scala developer who upgrades from Java 8 to Java 11 run into the problem that his savepoint isn't compatible if we would make such a change?
Best regards, Martijn On Mon, 9 May 2022 at 13:31, Ran Tao <chucheng...@gmail.com> wrote: > Hi, Martijn. Thanks for responding, i have read these issues, and the > issues u mentioned are about the compatibility of current released > version(which use jdk8), so we are stuck with 2.12.7. But my concern is > more about optional jdk11 build, when we use jdk11, we must enable > jdk11-target optional profile. > It will has no impact for current released version(and future newer jdk8 > released version) and will not breaks compatibility. just set matched scala > version property for optional jdk11. then we can use -target:11 for > generating scala jvm11 bytecode and solve some build errors with jdk11 & > jdk17 by the way, for example: FLINK-25000 [2] > > And i have noticed that the scala community will backport the target jvm > support from 2.13 to newer 2.12.16[1] It will make -target support JVM > 8-19. It means if we want to support flink pure jdk11 version, may be 2.12 > is both ok. > > Can we start a discuss and let other devs involved to vote for supporting > pure jdk11 version ? > > [1] https://github.com/scala/bug/issues/12588 > [2] > > Martijn Visser <martijnvis...@apache.org> 于2022年5月9日周一 15:55写道: > > > Hi Ran, > > > > Thanks for opening the discussion. There's a Flink ticket already for > > adding Scala 2.13 support [1] and also for upgrading to the latest Scala > > 2.12 version [2]. The problem for upgrading to a later version of Scala > is > > outlined in [3]. We couldn't upgrade to later versions of Scala because > of > > a breaking change that Scala introduced after Scala 2.12.8. I'm assuming > > that this would also block the introduction of Scala 2.13, but I'm no > Scala > > expert so I'm looking forward to input from others. > > > > One thing suggested was to do an inventory among the Dev and User mailing > > list if they would be OK to break the API over sticking with Scala > 2.12.8. > > I don't think that was done before. > > > > Best regards, > > > > Martijn Visser > > https://twitter.com/MartijnVisser82 > > https://github.com/MartijnVisser > > > > [1] https://issues.apache.org/jira/browse/FLINK-13414 > > [2 https://issues.apache.org/jira/browse/FLINK-20969 > > [3] https://issues.apache.org/jira/browse/FLINK-12461 > > > > On Mon, 9 May 2022 at 09:26, Ran Tao <chucheng...@gmail.com> wrote: > > > > > Hi, guys. > > > > > > I have found out that current flink project build with jdk11 wasn't > > > implemented completed or pure jdk11 version. (higher version has same > > > problem) > > > > > > when enable jdk11, it has some scenarios. > > > > > > 1. Using jdk11 but source 1.8 target 1.8 -> it's ok. > > > 2. Using jdk11 and with jdk11-target so the source 11 and target 11. -> > > > build java also ok. But the generated bytecode version of scala class > is > > > already 52(jdk8). We can test with any of a scala classes under jdk11 > > build > > > target. e.g. > > > > > > javap -verbose AggregateDataSet.class | grep major > > > major version: 52 > > > > > > I have test many times and make conclusion that flink jdk11 now is not > a > > > completed or pure jdk11 version because of inconsistent bytecode > version > > > with java & scala. And it may cause some problems, for example: > > > > > > 1. inconsistent bytecode version between java & scala > > > 2. Using reflection about class may generate some unknown errors > > > 3. Runtime jdk11 environment can not optimize these lower bytecode. > > > > > > I have dipped into this problem including reading carefully from scala > > docs > > > and asking from scala community[1][2] and found out we must upgrade > scala > > > to 2.13(2.11 & 2.12 only support generate bytecode version <=1.8). the > > 2.13 > > > can support generating scala target 11 bytecode and higher and also > jdk8. > > > > > > > > > So I launch this discussion to see whether we can add scala-2.13 in > flink > > > jdk11 profile to support the completed or pure jdk11(or higher) > version. > > > > > > And if we do not support and decide to maintain the current situation, > I > > > think we should let users or developers know this inconsistent problem, > > for > > > example, update or make some comments in flink pom or docs. > > > > > > More details: > > > > > > https://issues.apache.org/jira/browse/FLINK-27549 > > > > > > [1] https://github.com/scala/bug/issues/12588 > > > > > > [2] > > https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html > > > > > > > > > -- > > > Best, > > > Ran Tao > > > > > > > > -- > Best, > Ran Tao >