You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@flink.apache.org by "Huang Xingbo (Jira)" <ji...@apache.org> on 2022/03/16 02:53:00 UTC
[jira] [Created] (FLINK-26667) Improve the error message that the declared type of UDF is inconsistent with the actual return type
Huang Xingbo created FLINK-26667:
------------------------------------
Summary: Improve the error message that the declared type of UDF is inconsistent with the actual return type
Key: FLINK-26667
URL: https://issues.apache.org/jira/browse/FLINK-26667
Project: Flink
Issue Type: Sub-task
Components: API / Python
Affects Versions: 1.16.0
Reporter: Huang Xingbo
Currently, if the declared type of UDF is inconsitent with the acutal return type, some type mismatch type from serializers will be thrown, which is very hard for users to know the meanings of the error message and solve it.
{code:java}
File "apache_beam/runners/worker/operations.py", line 357, in apache_beam.runners.worker.operations.Operation.output
File "apache_beam/runners/worker/operations.py", line 359, in apache_beam.runners.worker.operations.Operation.output
File "apache_beam/runners/worker/operations.py", line 221, in apache_beam.runners.worker.operations.SingletonConsumerSet.receive
File "pyflink/fn_execution/beam/beam_operations_fast.pyx", line 71, in pyflink.fn_execution.beam.beam_operations_fast.FunctionOperation.process
File "pyflink/fn_execution/beam/beam_operations_fast.pyx", line 85, in pyflink.fn_execution.beam.beam_operations_fast.FunctionOperation.process
File "pyflink/fn_execution/coder_impl_fast.pyx", line 83, in pyflink.fn_execution.coder_impl_fast.TableFunctionRowCoderImpl.encode_to_stream
File "pyflink/fn_execution/coder_impl_fast.pyx", line 256, in pyflink.fn_execution.coder_impl_fast.FlattenRowCoderImpl._encode_one_row
File "pyflink/fn_execution/coder_impl_fast.pyx", line 260, in pyflink.fn_execution.coder_impl_fast.FlattenRowCoderImpl._encode_one_row_with_row_kind
File "pyflink/fn_execution/coder_impl_fast.pyx", line 244, in pyflink.fn_execution.coder_impl_fast.FlattenRowCoderImpl._encode_one_row_to_buffer
File "pyflink/fn_execution/coder_impl_fast.pyx", line 550, in pyflink.fn_execution.coder_impl_fast.FlattenRowCoderImpl._encode_field_simple
AttributeError: 'int' object has no attribute 'encode'
{code}
We should provide a better way of type detection and inform the user in advance that the type return does not match
--
This message was sent by Atlassian Jira
(v8.20.1#820001)