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