[
https://issues.apache.org/jira/browse/BEAM-3780?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16387074#comment-16387074
]
Thomas Groh commented on BEAM-3780:
-----------------------------------
The reason I'm not super certain about using {{LengthPrefixUnknownCoders}} is
due to the point at which the runner is attempting to construct the coder; it
may have reference to the {{RemoteGrpcPort}} that is being used by the SDK,
which includes the id of the {{Coder}} in the {{ProcessBundleDescriptor}} - it
doesn't seem like it should have to re-traverse the components, but could
instead just instantiate parts of that coder.
This is partially related to being able to rehydrate an unknown coder into a
java coder, even if it's unusable - converting from the {{RawCoder}} to the
{{ByteArrayCoder}} (for component coders, if required) seems like a valuable
utility, which removes the need to be able to add the {{ByteArrayCoder}} to the
{{Components}}
> Add a utility to instantiate a partially unknown coder
> ------------------------------------------------------
>
> Key: BEAM-3780
> URL: https://issues.apache.org/jira/browse/BEAM-3780
> Project: Beam
> Issue Type: Bug
> Components: runner-core
> Reporter: Thomas Groh
> Assignee: Thomas Groh
> Priority: Major
>
> Coders must be understood by the SDK harness that is encoding or decoding the
> associated elements. However, the pipeline runner is capable of constructing
> partial coders, where an unknown coder is replaced with a ByteArrayCoder. It
> then can decompose the portions of elements it is aware of, without having to
> understand the custom element encodings.
>
> This should go in CoderTranslation, as an alternative to the full-fidelity
> rehydration of a coder.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)