You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Gabriel Reid (JIRA)" <ji...@apache.org> on 2014/03/03 00:08:20 UTC

[jira] [Updated] (AVRO-1473) Nested schema reference with empty namespace cannot be parsed

     [ https://issues.apache.org/jira/browse/AVRO-1473?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Gabriel Reid updated AVRO-1473:
-------------------------------

    Attachment: AVRO-1473.patch

Patch to resolve this issue. The approach taken is to attempt to retrieve the name with the enclosing record's namespace, and if that fails, the name lookup is attempted with the empty namespace.

> Nested schema reference with empty namespace cannot be parsed
> -------------------------------------------------------------
>
>                 Key: AVRO-1473
>                 URL: https://issues.apache.org/jira/browse/AVRO-1473
>             Project: Avro
>          Issue Type: Bug
>          Components: java
>            Reporter: Gabriel Reid
>         Attachments: AVRO-1473.patch
>
>
> Related to AVRO-1295, a reference to a nested named schema with an empty namespace cannot be parsed. An example of such a schema is as follows:
> {code}
> {
>   "type" : "record",
>   "name" : "Outer",
>   "namespace" : "space",
>   "fields" : [ {
>     "name" : "f1",
>     "type" : {
>       "type" : "record",
>       "name" : "Inner",
>       "namespace" : "",
>       "fields" : [ ]
>     }
>   }, {
>     "name" : "f2",
>     "type" : "Inner"
>   } ]
> }
> {code}
> Attempting to parse this results in the following exception:
> org.apache.avro.SchemaParseException: "Inner" is not a defined name. The type of the "f2" field must be a defined name or a \{"type": ...\} expression.
> The issue seems to be that the lookup for the name "Inner" is done with the namspace of the encoding record, and not with the empty namespace for this case.



--
This message was sent by Atlassian JIRA
(v6.2#6252)