Dominik Wosiński created FLINK-23863: ----------------------------------------
Summary: AVRO Raw types do not match for UDFs Key: FLINK-23863 URL: https://issues.apache.org/jira/browse/FLINK-23863 Project: Flink Issue Type: Improvement Components: API / DataStream, Table SQL / API Affects Versions: 1.13.2 Reporter: Dominik Wosiński It seems that for some reason when using UDF, we can't properly use RAW types at least for AVRO generated classes. The following code: ``` {color:#bbb529}@FunctionHint{color}( input = Array( {color:#cc7832}new {color}DataTypeHint(value = {color:#6a8759}"RAW"{color}{color:#cc7832}, {color}bridgedTo = classOf[TestEnum]) ){color:#cc7832}, {color} output = {color:#cc7832}new {color}DataTypeHint(value = {color:#6a8759}"RAW"{color}{color:#cc7832}, {color}bridgedTo = classOf[SecondEnum]) ) {color:#cc7832}class {color}EnumMappingFunction {color:#cc7832}extends {color}ScalarFunction { {color:#cc7832}def {color}{color:#ffc66d}eval{color}({color:#72737a}event{color}: TestEnum): SecondEnum = {SecondEnum.{color:#9876aa}ANOTHER_TEST_VALUE{color}} } ``` Will result in this rather unhelpful error: ``` Caused by: org.apache.flink.table.api.ValidationException: Invalid argument type at position 0. Data type RAW('org.test.TestEnum', '...') expected but RAW('org.test.TestEnum', '...') passed. ``` Perhaps it is due to different type serializer that is generated by Flink SQL and the `DataTypeHint` ? I've created the following minimal reproducible example to make it easier to identify the error https://github.com/Wosin/FlinkRepro. -- This message was sent by Atlassian Jira (v8.3.4#803005)