You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Chris Egerton (JIRA)" <ji...@apache.org> on 2019/02/15 18:24:00 UTC

[jira] [Updated] (AVRO-2322) Compatibility checks report false positive when record fullnames differ

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

Chris Egerton updated AVRO-2322:
--------------------------------
    Labels:   (was: beginner)

> Compatibility checks report false positive when record fullnames differ
> -----------------------------------------------------------------------
>
>                 Key: AVRO-2322
>                 URL: https://issues.apache.org/jira/browse/AVRO-2322
>             Project: Apache Avro
>          Issue Type: Bug
>          Components: java
>    Affects Versions: 1.8.1, 1.8.2
>            Reporter: Chris Egerton
>            Priority: Major
>
> When testing for backward compatibility between two record schemas which differ in their fullnames (namespace + name) but are otherwise identical, a false positive is reported.
> Example:
> {code:java}
> // Create two schemas with differing fullnames and no fields
> Schema writtenSchema = Schema.createRecord("write", null, "namespace", false, Collections.emptyList());
> Schema readSchema = Schema.createRecord("read", null, "namespace", false, Collections.emptyList());
> // Validate the two schemas for compatibility
> // Should throw a SchemaValidationException; does not
> new SchemaValidatorBuilder().canReadStrategy().validateLatest().validate(readSchema, Collections.singleton(writtenSchema));{code}
> It looks like this behavior partially stems from discussion on AVRO-1590, although I'm unfortunately not familiar enough with some of the concepts brought up there to understand why it's advantageous to deviate from the spec like this.
> I'd be happy to work on a fix myself; just want to understand how to implement this correctly without stepping on the decisions of others before opening a PR.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)