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

Brian Hulette commented on BEAM-10010:
--------------------------------------

test_tagged_join reliably produces the following error from Python at execution 
time:
{code}
apache_beam/runners/portability/fn_api_runner/fn_runner.py:859: in 
process_bundle                                                                  
                                                                                
            
    output.transform_id).append(output.data)                                    
                                                                                
                                                                               
apache_beam/runners/portability/fn_api_runner/execution.py:591: in get_buffer   
                                                                                
                                                                               
    coder_impl=self.get_input_coder_impl(transform_id))                         
                                                                                
                                                                               
apache_beam/runners/portability/fn_api_runner/execution.py:555: in 
get_input_coder_impl                                                            
                                                                                
            
    return self.get_coder_impl(coder_id)                                        
                                                                                
                                                                               
apache_beam/runners/portability/fn_api_runner/execution.py:574: in 
get_coder_impl                                                                  
                                                                                
            
    return self.execution_context.pipeline_context.coders[coder_id].get_impl()  
                                                                                
                                                                               
apache_beam/runners/pipeline_context.py:137: in __getitem__                     
                                                                                
                                                                               
    return self.get_by_id(id)                                                   
                                                                                
                                                                               
apache_beam/runners/pipeline_context.py:103: in get_by_id                       
                                                                                
                                                                               
    self._id_to_proto[id], self._pipeline_context)                              
                                                                                
                                                                               
apache_beam/coders/coders.py:373: in from_runner_api                            
                                                                                
                                                                               
    for c in coder_proto.component_coder_ids                                    
                                                                                
                                                                               
apache_beam/coders/coders.py:373: in <listcomp>                                 
                                                                                
                                                                               
    for c in coder_proto.component_coder_ids                                    
                                                                                
                                                                               
apache_beam/runners/pipeline_context.py:103: in get_by_id                       
                                                                                
                                                                               
    self._id_to_proto[id], self._pipeline_context)                              
                                                                                
                                                                               
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
                                                                                
                                                                                
                                                                               
cls = <class 'apache_beam.coders.coders.Coder'>                                 
                                                                                
                                                                               
coder_proto = spec {                                                            
                                                                                
                                                                               
  urn: "beam:coders:javasdk:0.1"                                                
                                                                                
                                                                               
  payload: 
"\202SNAPPY\000\000\000\000\001\000\000\000\001\000\000\0060\241\02...000\030\235%\r8\005\362\030;xpvr\000\036>\355\000\301\201-\313(Row,\366\306j\2507,G\005X4\006schemaq\000~\000\002xp"
                                          
}                                                                               
                                                                                
                                                                               
                                                                                
                                                                                
                                                                               
context = <apache_beam.runners.pipeline_context.PipelineContext object at 
0x7fe6b3e4bfd0>                                                                 
                                                                                
     
                                                                                
                                                                                
                                                                               
    @classmethod                                                                
                                                                                
                                                                               
    def from_runner_api(cls, coder_proto, context):                             
                                                                                
                                                                               
      # type: (Type[CoderT], beam_runner_api_pb2.Coder, PipelineContext) -> 
CoderT                                                                          
                                                                                
   
                                                                                
                                                                                
                                                                               
      """Converts from an FunctionSpec to a Fn object.                          
                                                                                
                                                                               
                                                                                
                                                                                
                                                                               
      Prefer registering a urn with its parameter type and constructor.         
                                                                                
                                                                               
      """                                                                       
                                                                                
                                                                               
      if (context.allow_proto_holders and                                       
                                                                                
                                                                               
          coder_proto.spec.urn not in cls._known_urns):                         
                                                                                
                                                                               
        # We hold this in proto form since there's no coder available in Python
        # SDK.
        # This is potentially a coder that is only available in an external SDK.
        return ExternalCoder(coder_proto)
      else:
>       parameter_type, constructor = cls._known_urns[coder_proto.spec.urn]
E       KeyError: 'beam:coders:javasdk:0.1'

apache_beam/coders/coders.py:369: KeyError
{code}

> Test Python SqlTransform on fn_api_runner
> -----------------------------------------
>
>                 Key: BEAM-10010
>                 URL: https://issues.apache.org/jira/browse/BEAM-10010
>             Project: Beam
>          Issue Type: Improvement
>          Components: sdk-py-core
>            Reporter: Brian Hulette
>            Assignee: Brian Hulette
>            Priority: P2
>
> It should be possible to run with the fn_api_runner.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to