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)