[
https://issues.apache.org/jira/browse/AVRO-1331?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Doug Cutting updated AVRO-1331:
-------------------------------
Attachment: AVRO-1331.patch
Here's a patch that I think fixes this.
AVRO-1295 exposed an underlying bug where the default namespace, when null,
wasn't restored correctly as the parser popped back to an outer context. I
suspect the reason that your schema explicitly specifies the empty string as
its namespace was to work around this underlying bug. When AVRO-1295 changed
things so that the empty string was treated the same as a null namespace this
broke that schema.
> Java reader backwards-compatibility breakage
> --------------------------------------------
>
> Key: AVRO-1331
> URL: https://issues.apache.org/jira/browse/AVRO-1331
> Project: Avro
> Issue Type: Bug
> Components: java
> Affects Versions: 1.7.5
> Reporter: Jeremy Kahn
> Attachments: AVRO-1331.patch, stripped-snipped.avro,
> stripped-snipped.schema
>
>
> For some cases where we encode Avro data with Avro 1.7.4, it is not readable
> with Avro 1.7.5-SNAPSHOT post AVRO-1295: the Java decoder is unable to
> discover the root definitions
> Among the properties of (some) schemas that trigger this failure:
> - an explicit empty string in the root namespace and
> - uses other namespaces elsewhere in the schema,
> - has a recursive reference to the root
> A sample schema and a sample datafile with one example encoded with that
> schema are attached.
> This datafile cannot be read with Java deserializers (and I believe that the
> schema cannot be parsed by the Java schema parser).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira