[
https://issues.apache.org/jira/browse/FLINK-32614?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Martijn Visser updated FLINK-32614:
-----------------------------------
Component/s: Formats (JSON, Avro, Parquet, ORC, SequenceFile)
> avro mappings aren't always named as pojos
> ------------------------------------------
>
> Key: FLINK-32614
> URL: https://issues.apache.org/jira/browse/FLINK-32614
> Project: Flink
> Issue Type: Bug
> Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile)
> Reporter: Martin Sillence
> Priority: Major
>
> Debezium with the flatten SMT:
> "transforms.unwrap.type": "io.debezium.transforms.ExtractNewRecordState",
> {{Will create avro with the field}}
> {{ {}}
> {{ "default": null,}}
> {{ "name": "__deleted",}}
> {{ "type": [}}
> {{ "null",}}
> {{ "string"}}
> {{ ]}}
> {{ }}}
>
> This has the expected field:
> private java.lang.String __deleted;
> {{and constructor but the getter and setter are named:}}
> {{ public java.lang.String getDeleted$1() {}}
> {{ return __deleted;}}
> {{ }}}
> {{ }}{{ public void setDeleted$1(java.lang.String value) {}}
> {{ this.__deleted = value;}}
> {{ }}}
> {{Trying to use this generate class throws:}}
>
> Exception in thread "main" java.lang.IllegalStateException: Expecting type to
> be a PojoTypeInfo
> at
> org.apache.flink.formats.avro.typeutils.AvroTypeInfo.generateFieldsFromAvroSchema(AvroTypeInfo.java:72)
> at
> org.apache.flink.formats.avro.typeutils.AvroTypeInfo.<init>(AvroTypeInfo.java:55)
> at
> org.apache.flink.formats.avro.utils.AvroKryoSerializerUtils.createAvroTypeInfo(AvroKryoSerializerUtils.java:87)
> at
> org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1939)
> at
> org.apache.flink.api.java.typeutils.TypeExtractor.privateGetForClass(TypeExtractor.java:1840)
> at
> org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfoWithTypeHierarchy(TypeExtractor.java:982)
> at
> org.apache.flink.api.java.typeutils.TypeExtractor.privateCreateTypeInfo(TypeExtractor.java:802)
> at
> org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfo(TypeExtractor.java:749)
> at
> org.apache.flink.api.java.typeutils.TypeExtractor.createTypeInfo(TypeExtractor.java:745)
> at
> org.apache.flink.api.common.typeinfo.TypeInformation.of(TypeInformation.java:210)
> at com.fnz.flink.AvroDeserialization.<init>(AvroDeserialization.java:22)
> at com.fnz.flink.DataStreamJob.main(DataStreamJob.java:90)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)