On 13.09.2019 11:46, Yanna elina wrote: > Hi guys , > > in 1.9 when there is exception like this "org.apache.avro.AvroTypeException: > Expected start-union. Got END_OBJECT" . > and Using genericRecord = reader.read(null, decoder); > > its could be nice to provide the field in error. it could be more easy to > debug the schema. > > thx !
That would great yes. The field name may not be sufficient though, the location relative to the schema root would be better I think. Internally we have defined a simple spec we call avroloc that looks like recorda.field1.field2.1.recordb.field3 where the numeric step .1 is the zero-based alternative in case you traverse a union. To signal a particular item in an array, field2[3] is used in the avroloc. While we are on the topic of read error reporting, record number and offset within the record where the offending data is would also help. Fady