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

Danny McCormick commented on BEAM-169:
--------------------------------------

This isn't actually real, but this issue has been migrated to 
https://github.com/apache/beam/issues/17871

> Need serialized form and serialVersionUID for user-facing superclasses
> ----------------------------------------------------------------------
>
>                 Key: BEAM-169
>                 URL: https://issues.apache.org/jira/browse/BEAM-169
>             Project: Beam
>          Issue Type: Bug
>          Components: sdk-java-core
>            Reporter: Kenneth Knowles
>            Priority: P3
>              Labels: Clarified, serialization
>
> When a class does not have an explicit {{serialVersionUID}}, it should be 
> considered an unstable value based on the exact version of the code. This is 
> fine for transmission most of the time, but never acceptable for persistence 
> where backwards compatibility matters.
> There are two use cases that require explicit serialized form and 
> {{serialVersionUID}} even just for transmission. They are required for 
> user-facing superclasses such as DoFn, WindowFn, etc, to support the 
> following:
> # Encoding a pipeline with a JDK and decoding with a JDK that computes 
> defaults differently.
> # Encoding a pipeline against a version of the Beam SDK and decoding with a 
> different version.
> The first situation should be rare since there is a deterministic spec, but 
> we have unfortunately seen it.
> The second situation is very reasonable; a runner might want to run with 
> additional security fixes in the SDK, etc. Given a correct semantic version 
> for the SDK, the pipeline author and runner author may reasonably expect it 
> to work.
> So we should add explicit serialization to superclasses that are necessarily 
> encoded as part of a user's pipeline.



--
This message was sent by Atlassian Jira
(v8.20.7#820007)

Reply via email to