Jeff Hammerbacher wrote:
In the Avro spec, namespaces are defined for protocols, but not for named
schemas. Yet in both the Java and Python codebases, it appears that schemas
can have a namespace. Should the code be removed, or the spec be updated?
The spec should be updated. Schemas can specify a namespace. If
they're nested in another schema or protocol then the namespace defaults
to the namespace of the containing schema or protocol.
Another thing that should be updated in the spec is that a name can be
namespace-qualified. This is useful to refer to types in a different
namespace, e.g., a field like:
{"name": "foo", "type": "org.apache.hadoop.util.MD5"}
This is related to https://issues.apache.org/jira/browse/AVRO-153.
The spec currently prohibits dots in identifiers. We should clarify
that dots are permitted in namespaces, and that, if present in a name,
the last dot separates the name from the namespace.
Doug