[ 
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)

Reply via email to