[ https://issues.apache.org/jira/browse/FLINK-9444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16531061#comment-16531061 ]
ASF GitHub Bot commented on FLINK-9444: --------------------------------------- Github user twalthr commented on a diff in the pull request: https://github.com/apache/flink/pull/6218#discussion_r199736070 --- Diff: flink-formats/flink-avro/src/test/java/org/apache/flink/formats/avro/typeutils/BackwardsCompatibleAvroSerializerTest.java --- @@ -26,7 +26,7 @@ import org.apache.flink.api.java.typeutils.runtime.PojoSerializer; import org.apache.flink.api.java.typeutils.runtime.PojoSerializer.PojoSerializerConfigSnapshot; import org.apache.flink.core.memory.DataInputViewStreamWrapper; -import org.apache.flink.formats.avro.generated.User; +import org.apache.flink.formats.avro.generated.SimpleUser; --- End diff -- The problem is that {{BackwardsCompatibleAvroSerializer}} does not support records with logical types. Logical types need a Kryo configuration that the serializer does not set correctly. This might be a bug or at least a missing feature. Given that this serializer only exists for backwards compatibility for 1.3 (which used Avro 1.7 without logical type), I added a simple user for this test. I will add a comment about this to the code. > KafkaAvroTableSource failed to work for map and array fields > ------------------------------------------------------------ > > Key: FLINK-9444 > URL: https://issues.apache.org/jira/browse/FLINK-9444 > Project: Flink > Issue Type: Bug > Components: Kafka Connector, Table API & SQL > Affects Versions: 1.6.0 > Reporter: Jun Zhang > Assignee: Jun Zhang > Priority: Blocker > Labels: patch, pull-request-available > Fix For: 1.6.0 > > Attachments: flink-9444.patch > > > When some Avro schema has map/array fields and the corresponding TableSchema > declares *MapTypeInfo/ListTypeInfo* for these fields, an exception will be > thrown when registering the *KafkaAvroTableSource*, complaining like: > Exception in thread "main" org.apache.flink.table.api.ValidationException: > Type Map<String, Integer> of table field 'event' does not match with type > GenericType<java.util.Map> of the field 'event' of the TableSource return > type. > at org.apache.flink.table.api.ValidationException$.apply(exceptions.scala:74) > at > org.apache.flink.table.sources.TableSourceUtil$$anonfun$validateTableSource$1.apply(TableSourceUtil.scala:92) > at > org.apache.flink.table.sources.TableSourceUtil$$anonfun$validateTableSource$1.apply(TableSourceUtil.scala:71) > at > scala.collection.IndexedSeqOptimized$class.foreach(IndexedSeqOptimized.scala:33) > at scala.collection.mutable.ArrayOps$ofRef.foreach(ArrayOps.scala:186) > at > org.apache.flink.table.sources.TableSourceUtil$.validateTableSource(TableSourceUtil.scala:71) > at > org.apache.flink.table.plan.schema.StreamTableSourceTable.<init>(StreamTableSourceTable.scala:33) > at > org.apache.flink.table.api.StreamTableEnvironment.registerTableSourceInternal(StreamTableEnvironment.scala:124) > at > org.apache.flink.table.api.TableEnvironment.registerTableSource(TableEnvironment.scala:438) -- This message was sent by Atlassian JIRA (v7.6.3#76005)