[
https://issues.apache.org/jira/browse/AVRO-4138?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17954934#comment-17954934
]
Oscar Westra van Holthe - Kind commented on AVRO-4138:
------------------------------------------------------
Although {{.avdl}} files allow {{import}} statements, this only helps a bit
when storing them in a schema registry: the registry would have to expose the
stored schemas using the same file structure as the original, including names
and relative locations, as used by the imports.
Some questions though:
* Does the registry store the schema files, in addition to the schemas?
* Do we allow loading all protocol files before resolving names?
This would mean an equivalent of the new {{{}SchemaParser{}}}, which allows
parsing multiple files before throwing on unknown schemas.
* How do the schema references relate to versioning?
I like the overall idea, especially the part where schemas can be reused. But
we must describe how to handle (versioned) imports, or lack thereof, before we
can design a solution.
> Add support for compiling protocols with references instead of embedding
> schemas
> --------------------------------------------------------------------------------
>
> Key: AVRO-4138
> URL: https://issues.apache.org/jira/browse/AVRO-4138
> Project: Apache Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.12.0, 1.11.4
> Reporter: Vachagan
> Priority: Major
>
> Original discussion with POCs and explanations are here :
> [Apicurio/apicurio-registry#5573|https://github.com/Apicurio/apicurio-registry/issues/5573]
> Right now there is no way to compile AVDL or APVR files such that we have
> AVSC files that use actual references instead of embedding definitions of
> messages. This creates a problem when working with things like apicurio
> registry.
> The only way we are able to achieve actual references in the registry is to
> use java compiled code... you can read the discussions to see why this is not
> ideal.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)