[
https://issues.apache.org/jira/browse/AVRO-1046?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Gabriel Reid updated AVRO-1046:
-------------------------------
Status: Patch Available (was: Open)
Patch that fixes the issue by not delegating to the SpecificDatumReader when
reading a SpecificData via the ReflectDatumReader (rationale for the patch is
included in the description of the issue).
> 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, 1.7.0
> Reporter: Gabriel Reid
> Priority: Minor
> Attachments: 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