Flink can be built with Java 11 since 1.10. If I recall correctly we solved the tools.jar issue, which Hadoop depends on, by excluding that dependency. As far as we could tell it's not actually required.

On 01/12/2021 19:56, Nicolás Ferrario wrote:
Hi all, this would be awesome, I'm so tired of seeing Java 8 everywhere (reminds me of Python 2.7).

We're currently building our code against Java 11 because that's the latest version of Java available as a Flink Docker image, but it'd be great to use newer versions. I think it would also help to clean up dependencies and hopefully no longer have incompatibility issues. For example, right now it's not possible to build Flink with Java 9+ because of a Maven dependency. Using JDK 8 or copying "tools.jar" to any newer JDK version fixes it (see more: https://stackoverflow.com/questions/53707666/how-to-get-tools-jar-for-openjdk-11-on-windows).

Official support for Java 17 would be great.

Greetings!

On Wed, Dec 1, 2021 at 7:51 AM Chesnay Schepler <ches...@apache.org> wrote:

    Hello Gavin,

    If you run into any issues with Java 17, please report them in
    FLINK-15736 <https://issues.apache.org/jira/browse/FLINK-15736>.
    I recently did some experiments with Java 17 myself; I would think
    that you will run into some blockers (like ASM requiring an
    upgrade <https://issues.apache.org/jira/browse/FLINK-24978>, or
    missing --add-opens/--add-exports
    <https://issues.apache.org/jira/browse/FLINK-25002>).

    On 01/12/2021 11:12, Gavin Lee wrote:
    Thanks for sharing this info with us Chesnay.
    We've been using Flink for 5 years,  and upgraded to 1.13.2
    months ago. The java version is still 8.
    Currently we're testing with java 17 in our staging environment.
    There are no special concerns.
    Will update when tests complete.

    On Tue, Nov 30, 2021 at 1:18 AM Chesnay Schepler
    <ches...@apache.org> wrote:

        Hello,

        we recently had a discussion on the dev mailing list for
        deprecating support for Java 8 in 1.15, with a general
        consensus in favor of it.

        I now wanted to check in with you, our users, to see what you
        have got to say about that.


                Why are we interested in deprecating Java 8 support
                now (and in eventually removing it)?

        The main reason is that supporting the recently released Java
        17 (and subsequent versions), while maintaining Java 8 support,
        will be more complicated than if Java 11 were the oldest
        release version. Essentially because Java 11/17 have both
        crossed the Java 9 chasm.

        We will still have to bite this bullet in any case (because
        Java 17 is out /now /but we are /not /dropping Java 8 /now/),
        but we would still
        like to signal that users should upgrade to Java 11 so that
        we can /eventually/ clean this up.

        Furthermore, it is currently hard to justify investing time
        into benchmarks/performance improvements that are specific to
        Java 11+, because
        they provide no benefit to Java 8.


                What does the deprecation mean exactly?

        It will primarily mean that a warning will be logged when you
        run Flink on Java 8.
        We /may/ change the default Java version of the Docker images
        to Java 11 (the java8 tags will remain),
        and we will put a larger emphasis on Flink's performance on
        Java 11.


                Does that mean that Java 8 support will be removed in
                1.16/1.17?

        No. We are not putting a hard-date on the removal of Java 8
        support at this time.


                Will this mean that at some point we'll surprise you
                with the removal of Java 8 support in the next release?

        No. We will announce the removal ahead of time by /at least/
        half a year / 2+ releases (probably closer to a full year).


                Is the deprecation already decided?

        No. The responses in this thread are integral for deciding
        whether a deprecation at this time makes sense.


        If you are still using Java 8 at the moment, then we would
        appreciate if you could tell us whether you already have a
        time-frame for
        when you intend to upgrade to Java 11. We'd also be
        interested in anything that blocks your migration to Java 11.


        Please raise concerns you have, and feel free to ask questions.



-- Gavin


Reply via email to