[ 
https://issues.apache.org/jira/browse/FLINK-13702?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16963031#comment-16963031
 ] 

Dawid Wysakowicz commented on FLINK-13702:
------------------------------------------

I agree with [~jark]. If we ever keep the {{BinaryString/Generic}} in state 
they will be accessed from different threads. That's why those classes should 
be thread safe.

I agree, as I said in my first message, the easiest fix would be to make the 
{{ensureMaterialized}} synchronized, but I share the concerns of performance 
degradation with [~jark].

Honestly I'm wondering right now if it would make sense to get rid of the 
{{LazyBinaryFormat}} for now and revisit the problem of long udfs chain. I 
think correctness is more important than performance. This should also have a 
lower performance cost than synchronizing {{ensureMaterialized}} as it would 
only affect long udfs chains (the original reason for introducing the 
{{LazyBinaryFormat}}) without affecting every record path. One very broad idea 
of how can we solve the problem of multiple conversions between binary and java 
object, could be to add a reusable serialization/deserialization statements in 
the code generator if needed. Similar to {{reusableInputUnboxingExprs}}.

> BaseMapSerializerTest.testDuplicate fails on Travis
> ---------------------------------------------------
>
>                 Key: FLINK-13702
>                 URL: https://issues.apache.org/jira/browse/FLINK-13702
>             Project: Flink
>          Issue Type: Bug
>          Components: Table SQL / Planner
>    Affects Versions: 1.10.0
>            Reporter: Till Rohrmann
>            Assignee: Dawid Wysakowicz
>            Priority: Critical
>              Labels: test-stability
>
> The {{BaseMapSerializerTest.testDuplicate}} fails on Travis with an 
> {{java.lang.IndexOutOfBoundsException}}.
> https://api.travis-ci.org/v3/job/570973199/log.txt



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to