[ https://issues.apache.org/jira/browse/AVRO-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13277142#comment-13277142 ]
Doug Cutting commented on AVRO-1046: ------------------------------------ Great. I'll commit this soon unless someone objects. > ReflectDatumReader doesn't work with SpecificRecords containing an array of > values > ---------------------------------------------------------------------------------- > > Key: AVRO-1046 > URL: https://issues.apache.org/jira/browse/AVRO-1046 > Project: Avro > Issue Type: Bug > Components: java > Affects Versions: 1.6.2 > Reporter: Gabriel Reid > Assignee: Doug Cutting > Priority: Minor > Fix For: 1.7.0 > > Attachments: AVRO-1046.patch, AVRO-1046.patch > > > When a ReflectDatumReader is used to read implementations of SpecificRecord, > it fails if the SpecificRecord includes an (avro) array. This appears to be > due to the fact that the newArray method in ReflectDatumReader works > differently (based on a reflection-based schema) than the newArray method in > GenericDatumReader (which is the base class of the DatumReaders). > The included patch simply removes the delegation to SpecificData for the > creation of a schema in the case of a SpecificRecord. My assumption is that > the delegation to SpecificData is for performance reasons. > The rationale in removing the delegation to SpecificData is that a) it > doesn't work completely correctly, as demonstrated, and b) if a user is using > ReflectDatumReader (instead of SpecificDatumReader) to read SpecificRecords, > there may be other underlying reasons that reflection is specifically chosen, > and so this intention should not be undermined by the delegation to > SpecificData. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira