[
https://issues.apache.org/jira/browse/AVRO-667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Scott Carey updated AVRO-667:
-----------------------------
Attachment: AVRO-667.patch
Updated patch with consistend hashCode() and equals() for GenericData.
> 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
>
> Attachments: AVRO-667.patch, AVRO-667.patch
>
>
> 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.