We don't know yet. I wanted to run some more experiments to see if I cant get Scala 2.12.7 working on Java 17.

If that doesn't work, then it would also be an option to bump Scala in the Java 17 builds (breaking savepoint compatibility), and users should just only use the Java APIs.

The alternative to _that_ is doing this when we drop the Scala API.

On 28/04/2023 01:11, Thomas Weise wrote:
Is the intention to bump the Flink major version and only support Java 17+? If so, can Scala not be upgraded at the same time?

Thanks,
Thomas


On Thu, Apr 27, 2023 at 4:53 PM Martijn Visser <martijnvis...@apache.org> wrote:

    Scala 2.12.7 doesn't compile on Java 17, see
    https://issues.apache.org/jira/browse/FLINK-25000.

    On Thu, Apr 27, 2023 at 3:11 PM Jing Ge <j...@ververica.com> wrote:

    > Thanks Tamir for the information. According to the latest
    comment of the
    > task FLINK-24998, this bug should be gone while using the latest
    JDK 17. I
    > was wondering whether it means that there are no more issues to
    stop us
    > releasing a major Flink version to support Java 17? Did I miss
    something?
    >
    > Best regards,
    > Jing
    >
    > On Thu, Apr 27, 2023 at 8:18 AM Tamir Sagi
    <tamir.s...@niceactimize.com>
    > wrote:
    >
    >> More details about the JDK bug here
    >> https://bugs.openjdk.org/browse/JDK-8277529
    >>
    >> Related Jira ticket
    >> https://issues.apache.org/jira/browse/FLINK-24998
    >>
    >> ------------------------------
    >> *From:* Jing Ge via user <u...@flink.apache.org>
    >> *Sent:* Monday, April 24, 2023 11:15 PM
    >> *To:* Chesnay Schepler <ches...@apache.org>
    >> *Cc:* Piotr Nowojski <pnowoj...@apache.org>; Alexis
    Sarda-Espinosa <
    >> sarda.espin...@gmail.com>; Martijn Visser
    <martijnvis...@apache.org>;
    >> dev@flink.apache.org <dev@flink.apache.org>; user
    <u...@flink.apache.org>
    >> *Subject:* Re: [Discussion] - Release major Flink version to
    support JDK
    >> 17 (LTS)
    >>
    >>
    >> *EXTERNAL EMAIL*
    >>
    >>
    >> Thanks Chesnay for working on this. Would you like to share
    more info
    >> about the JDK bug?
    >>
    >> Best regards,
    >> Jing
    >>
    >> On Mon, Apr 24, 2023 at 11:39 AM Chesnay Schepler
    <ches...@apache.org>
    >> wrote:
    >>
    >> As it turns out Kryo isn't a blocker; we ran into a JDK bug.
    >>
    >> On 31/03/2023 08:57, Chesnay Schepler wrote:
    >>
    >>
    >>
    
https://github.com/EsotericSoftware/kryo/wiki/Migration-to-v5#migration-guide
    >>
    >> Kroy themselves state that v5 likely can't read v2 data.
    >>
    >> However, both versions can be on the classpath without
    classpath as v5
    >> offers a versioned artifact that includes the version in the
    package.
    >>
    >> It probably wouldn't be difficult to migrate a savepoint to
    Kryo v5,
    >> purely from a read/write perspective.
    >>
    >> The bigger question is how we expose this new Kryo version in
    the API. If
    >> we stick to the versioned jar we need to either duplicate all
    current
    >> Kryo-related APIs or find a better way to integrate other
    serialization
    >> stacks.
    >> On 30/03/2023 17:50, Piotr Nowojski wrote:
    >>
    >> Hey,
    >>
    >> > 1. The Flink community agrees that we upgrade Kryo to a later
    version,
    >> which means breaking all checkpoint/savepoint compatibility and
    releasing a
    >> Flink 2.0 with Java 17 support added and Java 8 and Flink Scala
    API support
    >> dropped. This is probably the quickest way, but would still
    mean that we
    >> expose Kryo in the Flink APIs, which is the main reason why we
    haven't been
    >> able to upgrade Kryo at all.
    >>
    >> This sounds pretty bad to me.
    >>
    >> Has anyone looked into what it would take to provide a smooth
    migration
    >> from Kryo2 -> Kryo5?
    >>
    >> Best,
    >> Piotrek
    >>
    >> czw., 30 mar 2023 o 16:54 Alexis Sarda-Espinosa
    <sarda.espin...@gmail.com>
    >> napisał(a):
    >>
    >> Hi Martijn,
    >>
    >> just to be sure, if all state-related classes use a POJO
    serializer, Kryo
    >> will never come into play, right? Given FLINK-16686 [1], I
    wonder how many
    >> users actually have jobs with Kryo and RocksDB, but even if
    there aren't
    >> many, that still leaves those who don't use RocksDB for
    >> checkpoints/savepoints.
    >>
    >> If Kryo were to stay in the Flink APIs in v1.X, is it
    impossible to let
    >> users choose between v2/v5 jars by separating them like log4j2
    jars?
    >>
    >> [1] https://issues.apache.org/jira/browse/FLINK-16686
    >>
    >> Regards,
    >> Alexis.
    >>
    >> Am Do., 30. März 2023 um 14:26 Uhr schrieb Martijn Visser <
    >> martijnvis...@apache.org>:
    >>
    >> Hi all,
    >>
    >> I also saw a thread on this topic from Clayton Wohl [1] on this
    topic,
    >> which I'm including in this discussion thread to avoid that it
    gets lost.
    >>
    >> From my perspective, there's two main ways to get to Java 17:
    >>
    >> 1. The Flink community agrees that we upgrade Kryo to a later
    version,
    >> which means breaking all checkpoint/savepoint compatibility and
    releasing a
    >> Flink 2.0 with Java 17 support added and Java 8 and Flink Scala
    API support
    >> dropped. This is probably the quickest way, but would still
    mean that we
    >> expose Kryo in the Flink APIs, which is the main reason why we
    haven't been
    >> able to upgrade Kryo at all.
    >> 2. There's a contributor who makes a contribution that bumps
    Kryo, but
    >> either a) automagically reads in all old checkpoints/savepoints
    in using
    >> Kryo v2 and writes them to new snapshots using Kryo v5 (like is
    mentioned
    >> in the Kryo migration guide [2][3] or b) provides an offline
    tool that
    >> allows users that are interested in migrating their snapshots
    manually
    >> before starting from a newer version. That potentially could
    prevent the
    >> need to introduce a new Flink major version. In both scenarios,
    ideally the
    >> contributor would also help with avoiding the exposure of Kryo
    so that we
    >> will be in a better shape in the future.
    >>
    >> It would be good to get the opinion of the community for either
    of these
    >> two options, or potentially for another one that I haven't
    mentioned. If it
    >> appears that there's an overall agreement on the direction, I
    would propose
    >> that a FLIP gets created which describes the entire process.
    >>
    >> Looking forward to the thoughts of others, including the Users
    (therefore
    >> including the User ML).
    >>
    >> Best regards,
    >>
    >> Martijn
    >>
    >> [1]
    https://lists.apache.org/thread/qcw8wy9dv8szxx9bh49nz7jnth22p1v2
    >> [2]
    https://lists.apache.org/thread/gv49jfkhmbshxdvzzozh017ntkst3sgq
    >> [3] https://github.com/EsotericSoftware/kryo/wiki/Migration-to-v5
    >>
    >> On Sun, Mar 19, 2023 at 8:16 AM Tamir Sagi
    <tamir.s...@niceactimize.com>
    >> wrote:
    >>
    >> I agree, there are several options to mitigate the migration
    from v2 to
    >> v5.
    >> yet, Oracle roadmap is to end JDK 11 support in September this
    year.
    >>
    >>
    >>
    >> ________________________________
    >> From: ConradJam <jam.gz...@gmail.com>
    >> Sent: Thursday, March 16, 2023 4:36 AM
    >> To: dev@flink.apache.org <dev@flink.apache.org>
    >> Subject: Re: [Discussion] - Release major Flink version to
    support JDK 17
    >> (LTS)
    >>
    >> EXTERNAL EMAIL
    >>
    >>
    >>
    >> Thanks for your start this discuss
    >>
    >>
    >> I have been tracking this problem for a long time, until I saw a
    >> conversation in ISSUSE a few days ago and learned that the Kryo
    version
    >> problem will affect the JDK17 compilation of snapshots [1]
    FLINK-24998 ,
    >>
    >> As @cherry said it ruined our whole effort towards JDK17
    >>
    >> I am in favor of providing an external tool to migrate from
    Kryo old
    >> version checkpoint to the new Kryo new checkpoint at one time
    (Maybe this
    >> tool start in flink 2.0 ?), does this tool currently have any
    plans or
    >> ideas worth discuss
    >>
    >>
    >> I think it should not be difficult to be compatible with JDK11
    and JDK17.
    >> We should indeed abandon JDK8 in 2.0.0. It is also mentioned in
    the doc
    >> that it is marked as Deprecated [2]
    >>
    >>
    >> Here I add that we need to pay attention to the version of
    Scala and the
    >> version of JDK17
    >>
    >>
    >> [1] FLINK-24998  IGSEGV in Kryo / C2 CompilerThread on Java 17
    >> https://issues.apache.org/jira/browse/FLINK-24998
    >>
    >> [2] FLINK-30501 Update Flink build instruction to deprecate
    Java 8 instead
    >> of requiring Java 11
    https://issues.apache.org/jira/browse/FLINK-30501
    >>
    >> Tamir Sagi <tamir.s...@niceactimize.com> 于2023年3月16日周四
    00:54写道:
    >>
    >> > Hey dev community,
    >> >
    >> > I'm writing this email to kick off a discussion following
    this epic:
    >> > FLINK-15736<https://issues.apache.org/jira/browse/FLINK-15736>.
    >> >
    >> > We are moving towards JDK 17 (LTS) , the only blocker now is
    Flink which
    >> > currently remains on JDK 11 (LTS). Flink does not support JDK
    17 yet,
    >> with
    >> > no timeline,  the reason, based on the aforementioned ticket
    is the
    >> > following tickets
    >> >
    >> >   1.  FLINK-24998 - SIGSEGV in Kryo / C2 CompilerThread on
    Java 17<
    >> > https://issues.apache.org/jira/browse/FLINK-24998>.
    >> >   2.  FLINK-3154 - Update Kryo version from 2.24.0 to latest
    Kryo LTS
    >> > version<https://issues.apache.org/jira/browse/FLINK-3154>
    >> >
    >> > My question is whether it is possible to release a major
    version (Flink
    >> > 2.0.0) using the latest Kryo version for those who don't need
    to restore
    >> > old savepoints/checkpoints in newer format.
    >> >
    >> >   1.  Leverage JDK 17 features within JVM
    >> >   2.  Moving from the old format to the newer one will be
    handled only
    >> > once - a mitigation can be achieved by a conversion tool or
    external
    >> > serializers, both can be provided later on.
    >> >
    >> > I'd like to emphasize that the next JDK LTS (21) will be
    released this
    >> > September.  furthermore, Flink already supports JDK 12-15,
    which is very
    >> > close to JDK 17 (LTS) - that was released in September 2021. 
    JDK 11
    >> will
    >> > become a legacy soon, as more frameworks moving towards JDK
    17 and are
    >> less
    >> > likely to support JDK 11 in the near future. (For example,
    Spring Boot 3
    >> > requires JDK 17 already).
    >> >
    >> > Thank you for your consideration of my request.
    >> >
    >> > Tamir.
    >> >
    >> >
    >> >
    >> >
    >> > Confidentiality: This communication and any attachments are
    intended for
    >> > the above-named persons only and may be confidential and/or
    legally
    >> > privileged. Any opinions expressed in this communication are not
    >> > necessarily those of NICE Actimize. If this communication has
    come to
    >> you
    >> > in error you must take no action based on it, nor must you
    copy or show
    >> it
    >> > to anyone; please delete/destroy and inform the sender by e-mail
    >> > immediately.
    >> > Monitoring: NICE Actimize may monitor incoming and outgoing
    e-mails.
    >> > Viruses: Although we have taken steps toward ensuring that
    this e-mail
    >> and
    >> > attachments are free from any virus, we advise that in
    keeping with good
    >> > computing practice the recipient should ensure they are
    actually virus
    >> free.
    >> >
    >>
    >>
    >> --
    >> Best
    >>
    >> ConradJam
    >>
    >> Confidentiality: This communication and any attachments are
    intended for
    >> the above-named persons only and may be confidential and/or legally
    >> privileged. Any opinions expressed in this communication are not
    >> necessarily those of NICE Actimize. If this communication has
    come to you
    >> in error you must take no action based on it, nor must you copy
    or show it
    >> to anyone; please delete/destroy and inform the sender by e-mail
    >> immediately.
    >> Monitoring: NICE Actimize may monitor incoming and outgoing
    e-mails.
    >> Viruses: Although we have taken steps toward ensuring that this
    e-mail
    >> and attachments are free from any virus, we advise that in
    keeping with
    >> good computing practice the recipient should ensure they are
    actually virus
    >> free.
    >>
    >>
    >>
    >>
    >> Confidentiality: This communication and any attachments are
    intended for
    >> the above-named persons only and may be confidential and/or legally
    >> privileged. Any opinions expressed in this communication are not
    >> necessarily those of NICE Actimize. If this communication has
    come to you
    >> in error you must take no action based on it, nor must you copy
    or show it
    >> to anyone; please delete/destroy and inform the sender by e-mail
    >> immediately.
    >> Monitoring: NICE Actimize may monitor incoming and outgoing
    e-mails.
    >> Viruses: Although we have taken steps toward ensuring that this
    e-mail
    >> and attachments are free from any virus, we advise that in
    keeping with
    >> good computing practice the recipient should ensure they are
    actually virus
    >> free.
    >>
    >

Reply via email to