[
https://issues.apache.org/jira/browse/BEAM-703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15546196#comment-15546196
]
Kenneth Knowles commented on BEAM-703:
--------------------------------------
I think that might have been an attempt to save memory by freeing up the
encoded bytes. I agree with you that it is a bug.
> SingletonViewFn might exhaust defaultValue if it's serialized after being
> used.
> --------------------------------------------------------------------------------
>
> Key: BEAM-703
> URL: https://issues.apache.org/jira/browse/BEAM-703
> Project: Beam
> Issue Type: Bug
> Components: sdk-java-core
> Reporter: Amit Sela
> Assignee: Amit Sela
> Priority: Minor
>
> In
> https://github.com/apache/incubator-beam/blob/master/sdks/java/core/src/main/java/org/apache/beam/sdk/util/PCollectionViews.java#L267
> the defaultValue is set to null to avoid decoding over and over I assume.
> If the defaultValue is accessed before the the SingletonViewFn is serialized,
> it will exhaust the encoded value (assigned with null) while losing the
> transient decoded value.
> It'd probably be best to simply check if defaultValue is null before
> decoding, so that decode will still happen just once, but the encoded data is
> not lost.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)