[ 
https://issues.apache.org/jira/browse/FLINK-12303?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Aljoscha Krettek closed FLINK-12303.
------------------------------------
    Resolution: Fixed

I'm afraid there is nothing Flink can do about this. Essentially your test is 
adding events to a global object ({{Test.timestamps += event.ts}}). It seems 
that in Scala 2.12 this global object is copied for the closure of the lambda, 
and therefore the global object itself is not modified.

Both of these cases would not work in an actual Flink setup where operators are 
spread across multiple machines/JVMs, there each one would add the events to 
their "local" global object.

> Scala 2.12 lambdas does not work in event classes inside streams.
> -----------------------------------------------------------------
>
>                 Key: FLINK-12303
>                 URL: https://issues.apache.org/jira/browse/FLINK-12303
>             Project: Flink
>          Issue Type: Bug
>          Components: API / DataStream, API / Scala
>    Affects Versions: 1.7.2
>         Environment: Scala 2.11/2.12, Oracle Java 1.8.0_172
>            Reporter: Matěj Novotný
>            Priority: Major
>
> When you use lambdas inside event classes used in streams it does work in 
> Scala 2.11. It stoped working in Scala 2.12. It does compile but does not 
> process any data and does not throw any exception. I would expect that it 
> would not compile in case I have used some not supported field in event class 
> or I would throw some exception at least.
>  
> For more detail check my demonstration repo, please: 
> [https://github.com/matej-novotny/flink-lambda-bug]



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to