GenericArray fails to compare with List. SpecificRecord compare gets
ClassCastException
----------------------------------------------------------------------------------------
Key: AVRO-667
URL: https://issues.apache.org/jira/browse/AVRO-667
Project: Avro
Issue Type: Bug
Affects Versions: 1.4.0
Reporter: Scott Carey
Assignee: Scott Carey
Priority: Blocker
Fix For: 1.4.1
AVRO-637 is incomplete.
I am unable to convert my SpecificRecord project to 1.4. It compiles, but unit
tests get runtime exceptions.
compareTo in GenericData does not handle List vs GenericArray and I get class
cast exceptions.
{noformat}
java.lang.ClassCastException: java.util.ArrayList cannot be cast to
org.apache.avro.generic.GenericArray
at org.apache.avro.generic.GenericData.compare(GenericData.java:502)
at org.apache.avro.specific.SpecificData.compare(SpecificData.java:190)
at org.apache.avro.generic.GenericData.compare(GenericData.java:494)
at org.apache.avro.specific.SpecificData.compare(SpecificData.java:190)
at
org.apache.avro.specific.SpecificRecordBase.compareTo(SpecificRecordBase.java:45)
at
org.apache.avro.specific.SpecificRecordBase.equals(SpecificRecordBase.java:35)
at com.rr.eventdata.ViewRecord.equals(ViewRecord.java:350)
at com.rr.eventdata.WriteStuffTest.main(WriteStuffTest.java:143)
at
com.rr.eventdata.WriteStuffTest.testReadWriteDataFile(WriteStuffTest.java:55)
{noformat}
Also, an array of string in SpecificRecord ends up as List<CharSequence>.
However, it should be List<? extends CharSequence> or else you can't assign a
List<String> to it.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.