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.