You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Scott Carey (JIRA)" <ji...@apache.org> on 2010/09/17 03:42:32 UTC
[jira] Resolved: (AVRO-667) GenericArray fails to compare with
List. SpecificRecord compare gets ClassCastException
[ https://issues.apache.org/jira/browse/AVRO-667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott Carey resolved AVRO-667.
------------------------------
Resolution: Fixed
I have committed Doug's latest patch variation.
> 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-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.