avro-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "kulkarni.swarnim@gmail.com" <kulkarni.swar...@gmail.com>
Subject GenericRecord and passivity
Date Tue, 15 Oct 2013 22:43:34 GMT
Do we know if a GenericRecord is robust to schema evolution? I am currently
seeing cases where I get an exception like the following if I try to
deserialize an older record with a newer schema.

 Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8

at org.apache.avro.io.parsing.Symbol$Alternative.getSymbol(Symbol.java:364)

at org.apache.avro.io.ResolvingDecoder.doAction(ResolvingDecoder.java:229)

at org.apache.avro.io.parsing.Parser.advance(Parser.java:88)

at org.apache.avro.io.ResolvingDecoder.readIndex(ResolvingDecoder.java:206)

at org.apache.avro.generic.GenericDatumReader.read(
GenericDatumReader.java:152)

at org.apache.avro.generic.GenericDatumReader.readRecord(
GenericDatumReader.java:177)

at org.apache.avro.generic.GenericDatumReader.read(
GenericDatumReader.java:148)

at org.apache.avro.generic.GenericDatumReader.read(
GenericDatumReader.java:139)


The newer schema just has a few more fields added to it and no names from
the older schema were changed.

Is this a known issue? Should a SpecificRecord be always considered when
passivity is important?


Thanks,

-- 
Swarnim

Mime
View raw message