[ 
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)

Reply via email to