Thanks for the update.

I am rework on  https://issues.apache.org/jira/browse/AVRO-2299 to fix git
commit problem and keep us updated.

On Mon, 4 Nov 2019 at 9:22 AM, Driesprong, Fokko <[email protected]>
wrote:

> Thanks for bringing this up Michael,
>
> At my current project, I've bumped into this one as well. We're trying to
> build a schema registry and take the fingerprint from the canonical schema
> in order to check if something changed. The issue here is that the
> canonical schema takes the minimal schema that ensures binary
> compatibility. The default values are only considered when reading the file
> and do not impact the binary. This was the original idea that I could
> derive from https://issues.apache.org/jira/browse/AVRO-2299
>
> For me, the first step would be to clarify the Avro spec on the different
> schemas, such as plain, canonical, etc. So we are sure that every
> implementation has the same notion of a canonical schema.
>
> There is a PR that addresses this issue in the Java implementation and
> updates the spec: https://github.com/apache/avro/pull/452 But it looks
> like
> something is off with the PR.
>
> Cheers, Fokko
>
> Op zo 3 nov. 2019 om 22:01 schreef Michael A. Smith <[email protected]
> >:
>
> > I'm picking up the languishing ticket AVRO-1938. One issue with the PR
> > (https://github.com/apache/avro/pull/143) is that it strips the
> > default value from a field:
> >
> > input:
> >
> '{"name":"example","type":"record","fields":[{"name":"def","type":"bytes","default":"abc"}]}'
> > output:
> >
> '{"name":"example","type":"record","fields":[{"name":"def","type":"bytes"}]}'
> >
> > The specification
> > (
> >
> https://avro.apache.org/docs/1.9.1/spec.html#Parsing+Canonical+Form+for+Schemas
> > )
> > doesn't address record fields at all. If we are to assume that the
> > same rules apply to fields as to other schema parts, then the [STRIP]
> > rule says we should drop "default" and "order" from fields. But that
> > can't be right -- default is crucial for readers, and two schema
> > differing only on by a default are certainly different schema and
> > ought to have different fingerprints.
> >
> > Did I miss something in reading the spec, or is this a gap? How should
> > I interpret the spec in implementing parsing canonical form for record
> > fields. Specifically, should the canonical form of a record field
> > preserve its order and default values in the [STRIP] rule, and if so,
> > where do those things go in the [ORDER] rule?
> >
> > Thanks,
> > Michael A. Smith
> >
>
-- 

Thanks and Regards
*Rumeshkrishnan Mohan*
*Mail: *[email protected]
*Mobile:* +49 151 45725188.
*WhatsApp:* +91 94436 87507.

Reply via email to