[ https://issues.apache.org/jira/browse/FLINK-13703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17290867#comment-17290867 ]
Patrick Lucas commented on FLINK-13703: --------------------------------------- I ran into this as well and was thrown off by the confusing error message—glad I found this issue to help explain it, thanks [~afedulov]. I have more experience with protobuf which tends to be immutable-by-default, so I set Avro's {{createSetters}} flag when starting out. I'll undo that for now, but supporting immutable specific records would still be nice. > AvroTypeInfo requires objects to be strict POJOs (mutable, with setters) > ------------------------------------------------------------------------ > > Key: FLINK-13703 > URL: https://issues.apache.org/jira/browse/FLINK-13703 > Project: Flink > Issue Type: Improvement > Components: Formats (JSON, Avro, Parquet, ORC, SequenceFile) > Reporter: Alexander Fedulov > Priority: Minor > > There exists an option to generate Avro sources which would represent > immutable objects (`createSetters` option set to false) > [\[1\]|https://github.com/commercehub-oss/gradle-avro-plugin] , > [\[2\]|https://avro.apache.org/docs/current/api/java/org/apache/avro/mojo/AbstractAvroMojo.html]. > Those objects still have full arguments constructors and are being correctly > dealt with by Avro. > `AvroTypeInfo` in Flink performs a check to verify if a Class complies to > the strict POJO requirements (including setters) and throws an > IllegalStateException("Expecting type to be a PojoTypeInfo") otherwise. Can > this check be relaxed to provide better immutability support? > +Steps to reproduce:+ > 1) Generate Avro sources from schema using `createSetters` option. > 2) Use generated class in > `ConfluentRegistryAvroDeserializationSchema.forSpecific(GeneratedClass.class, > schemaRegistryUrl)` -- This message was sent by Atlassian Jira (v8.3.4#803005)