You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@beam.apache.org by "Maximilian Michels (JIRA)" <ji...@apache.org> on 2018/11/20 14:05:00 UTC
[jira] [Resolved] (BEAM-6055) CoderTypeSerializer#duplicate()
should create a deep copy of the coder
[ https://issues.apache.org/jira/browse/BEAM-6055?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Maximilian Michels resolved BEAM-6055.
--------------------------------------
Resolution: Not A Problem
Fix Version/s: Not applicable
Closing and moving the Flink issue to Beam.
> CoderTypeSerializer#duplicate() should create a deep copy of the coder
> ----------------------------------------------------------------------
>
> Key: BEAM-6055
> URL: https://issues.apache.org/jira/browse/BEAM-6055
> Project: Beam
> Issue Type: Bug
> Components: runner-flink
> Affects Versions: 2.8.0
> Reporter: Stefan Richter
> Priority: Critical
> Fix For: Not applicable
>
>
> I think that {{CoderTypeSerializer#duplicate()}} must make a deep copy of the {{coder}} field here https://github.com/apache/beam/blob/f2f0b02babf745d0d9645e0526637ef967dd2228/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/types/CoderTypeSerializer.java#L53. It seems to me like the {{coder}} objects can be stateful and the current implementation will share them across multiple serializer instance. Different serializer instances can be used by different threads in Flink and as a whole, this can lead to concurrency problems and corruption like in this example: https://issues.apache.org/jira/browse/FLINK-10860
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)