[
https://issues.apache.org/jira/browse/AVRO-1933?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15875978#comment-15875978
]
Elliot West commented on AVRO-1933:
-----------------------------------
I've made an attempt at including a path to the location within the schema
where the compatibility problem exists. I encoded the path according to the
[JSON Pointer specification|https://tools.ietf.org/html/rfc6901] with respect
the the JSON form of the Avro schema. This requires the simple addition of a
stack to track the {{SchemaCompatibility}}'s current location within the
schema. In this form it should be trivial to apply said path to the schema's
JSON tree to flag/highlight the problem in the document. It is also fairly
human readable.
If it is ok, I'd like to add a patched version of the existing work attached to
this ticket.
> SchemaCompatibility class could be more user-friendly about incompatibilities
> -----------------------------------------------------------------------------
>
> Key: AVRO-1933
> URL: https://issues.apache.org/jira/browse/AVRO-1933
> Project: Avro
> Issue Type: Improvement
> Components: java
> Affects Versions: 1.8.1
> Environment: Any Java env
> Reporter: Anders Sundelin
> Priority: Minor
> Fix For: 1.9.0
>
> Attachments: AVRO-1933-compatible-with-AVRO-1931.patch,
> AVRO-1933.patch
>
> Original Estimate: 1h
> Remaining Estimate: 1h
>
> Today, the class SchemaCompatibility reports incompatibilities with quite
> little detail. The whole reader and the whole writer schema is listed, and no
> particular detail about what was incompatible.
> The attached patch fixes this, introducing a new enum
> (SchemaIncompatibilityType), and more specific sub-schemas that were
> incompatible.
> The old, overall picture, is still there - the new compatibility state is
> encapsulated in the SchemaCompatibilityDetails class.
> Lots of test cases have been added, and there has been refactoring done in
> the TestSchemaCompatibility and other test classes.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)