Hi Martin,

Could you please remind what was the conclusion of discussion on upgrading Scala to 2.12.15/16? https://lists.apache.org/thread/hwksnsqyg7n3djymo7m1s7loymxxbc3t - I couldn't find any follow-up vote?

If it's acceptable to break binary compatibility by such an upgrade, then upgrading to JDK17 before 2.0 will be doable?


thanks,

maciek


On 04.10.2022 18:21, Martijn Visser wrote:
Hi Yaroslav,

Thanks for the feedback, that's much appreciated! Regarding Java 17 as a prerequisite, we would have to break compatibility already since Scala 2.12.7 doesn't compile on Java 17 [1].

Given that we can only remove Scala APIs with the next major Flink (2.0) version, would that still impact you a lot? I do imagine that if we get to a Flink 2.0 version there would be more breaking involved anyway. The biggest consequence of deprecating support for Scala in Flink 1.x would be that new APIs would only be available in Java, but since these don't exist yet there would be no refactoring involved. I can imagine that we might change something in an existing API, but that would have certain compatibility guarantees already (depending if it's Public/PublicEvolving/Experimental). If a change would happen there, I think it would be smaller refactoring.

Best regards,

Martijn

[1] https://issues.apache.org/jira/browse/FLINK-25000

On Tue, Oct 4, 2022 at 10:58 AM Yaroslav Tkachenko <yaros...@goldsky.com> wrote:

    Hi Martijn,

    As a Scala user, this change would affect me a lot and I'm not
    looking forward to rewriting my codebase, and it's not even a very
    large one :)

    I'd like to suggest supporting Java 17 as a prerequisite
    (https://issues.apache.org/jira/browse/FLINK-15736). Things like
    switch expressions and records could simplify the migration
    quite a bit. Would you consider adding it to the FLIP?

    On Tue, Oct 4, 2022 at 10:50 AM Jing Ge <j...@ververica.com> wrote:

        Hi Martijn,

        Thanks for bringing this up. It is generally a great idea, so +1.

        Since both scala extension projects mentioned in the FLIP are
        still very young and I don't think they will attract more
        scala developers as Flink could just because they are external
        projects. It will be a big issue for users who have to rewrite
        their large codebases. Those users should be aware of the
        effort from now on and would better not count on those scala
        extension projects and prepare their migration plan
        before Flink 2.0.

        Best regards,
        Jing


        On Tue, Oct 4, 2022 at 1:59 PM Martijn Visser
        <martijnvis...@apache.org> wrote:

            Hi Marton,

            You're making a good point, I originally wanted to include
            already the User mailing list to get their feedback but
            forgot to do so. I'll do some more outreach via other
            channels as well.

            @Users of Flink, I've made a proposal to deprecate and
            remove Scala API support in a future version of Flink.
            Your feedback on this topic is very much appreciated.

            Regarding the large Scala codebase for Flink, a potential
            alternative could be to have a wrapper for all Java APIs
            that makes them available as Scala APIs. However, this
            still requires Scala maintainers and I don't think that we
            currently have those in our community. The easiest
            solution for them would be to use the Java APIs directly.
            Yes it would involve work, but we won't actually be able
            to remove the Scala APIs until Flink 2.0 so there's still
            time for that :)

            Best regards,

            Martijn

            On Tue, Oct 4, 2022 at 1:26 AM Márton Balassi
            <balassi.mar...@gmail.com> wrote:

                Hi Martjin,

                Thanks for compiling the FLIP. I agree with the
                sentiment that Scala poses
                considerable maintenance overhead and key improvements
                (like 2.13 or 2.12.8
                supports) are hanging stale. With that said before we
                make this move we
                should attempt to understand the userbase affected.
                A quick Slack and user mailing list search does return
                quite a bit of
                results for scala (admittedly a cursory look at them
                suggest that many of
                them have to do with missing features in Scala that
                exist in Java or Scala
                versions). I would love to see some polls on this
                topic, we could also use
                the Flink twitter handle to ask the community about this.

                I am aware of users having large existing Scala
                codebases for Flink. This
                move would pose a very large effort on them, as they
                would need to rewrite
                much of their existing code. What are the alternatives
                in your opinion,
                Martjin?

                On Tue, Oct 4, 2022 at 6:22 AM Martijn Visser
                <martijnvis...@apache.org>
                wrote:

                > Hi everyone,
                >
                > I would like to open a discussion thread on FLIP-265
                Deprecate and remove
                > Scala API support. Please take a look at
                >
                >
                
https://cwiki.apache.org/confluence/display/FLINK/FLIP-265+Deprecate+and+remove+Scala+API+support
                > and provide your feedback.
                >
                > Best regards,
                >
                > Martijn
                > https://twitter.com/MartijnVisser82
                > https://github.com/MartijnVisser
                >

Reply via email to