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.

Reply via email to