Support for records has not been investigated yet. We're still at the
stage of getting things to run at all on Java 17.
It _may_ be possible, it _may_ not be.
On 13/10/2022 07:39, Salva Alcántara wrote:
Hi Martijn,
Maybe a bit of an off-topic, but regarding Java 17 support, will it be
possible to replace POJOs with Java records in existing applications?
In a project I maintain we use Lombok a lot, but with Java records we
would probably stop using it (or significantly reduce its usage).
Will there be a way to promote existing POJOs (either written
"manually" or using Lombok) to Java records without breaking
serialization? (assuming that those POJOs are used as immutable
values, e.g., setters are never used).
Regards,
Salva
On Wed, Oct 12, 2022 at 9:11 PM Martijn Visser
<martijnvis...@apache.org> wrote:
Hi everyone,
Thanks again for all your feedback. It's very much appreciated.
My overall feeling is that people are not opposed to the FLIP.
There is demand for adding Java 17 support before dropping the
Scala APIs. Given that the proposal for actually dropping the
Scala APIs would only happen with a Flink 2.0 and Java 17 support
would either happen in a new minor version or a new major version
(I haven't seen a FLIP or discussion being opened adding Java 17
support, only on deprecating Java 8), Java 17 support would either
be there earlier (in a new minor version) or at the same time
(with Flink 2.0) when the Scala APIs would be dropped.
If there are no more discussion topics, I would move this FLIP to
a vote at the beginning of next week.
Best regards,
Martijn
On Sun, Oct 9, 2022 at 10:36 AM guenterh.lists
<guenterh.li...@bluewin.ch> wrote:
Hi Martijn
I do not maintain a large production application based on
Flink, so it would not be a problem for me to convert existing
implementations to whatever API.
I am working in the area of cultural heritage, which is mainly
about the processing of structured (meta)-data (scientific
libraries, archives and museums)
My impression: People without much background/experience with
Java implementations find it easier to get into the functional
mindset as supported in Scala. That's why I think it would be
very unfortunate if the use of Scala in Flink becomes more and
more limited or neglected.
I think using the Java API in Scala is a possible way also in
my environment.
In the last weeks I tried to port the examples from the "Flink
Course" of Daniel Ciorcilan (https://rockthejvm.com/p/flink -
he mainly offers Scala courses), which are exclusively based
on the native Scala API, to the Java API. This has worked
without any problems as far as I can see. So far I haven't
tried any examples based on the Table API or streaming
workflows in batch mode (which would be important for our
environment).
My main trouble: So far I don't know enough about the
limitations of using the Java API in a Scala implementation
and what that means. My current understanding: the limitation
is mainly in deriving the type information in generic APIs
with Scala types. For me it would be very significant and
helpful if there would be more information, descriptions and
examples about this topic.
So far unfortunately I had too little time to deal with a
wrapper like flink-scala-api
(https://github.com/findify/flink-scala-api ) and the current
alternative is probably going to be deprecated in the future
(https://github.com/ariskk/flink4s/issues/17#issuecomment-1125806808
)
Günter
On 04.10.22 13:58, Martijn Visser 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
>
--
Günter Hipler
University library Leipzig