[
https://issues.apache.org/jira/browse/AVRO-1318?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13697032#comment-13697032
]
Jeremy Kahn commented on AVRO-1318:
-----------------------------------
The purpose is roughly the same, if I understand correctly. This "fingerprint"
notion is copied from [~laserson]'s [perf
branch|https://github.com/laserson/avro/tree/perf] to avoid recomputation of
evolution decisions (to "to cache encoder and decoder objects", quoting the
spec).
This delta does most of the "parsing canonical form" part of the spec, if I
understand correctly, but should be reviewed in light of that, for sure.
I've found Uri's work on this useful to support Cython extensions, but adapting
the Python decoder and encoder to cache those encoders and decoders is a pretty
big change. I thought this one bit should be safe enough to include without
requiring a 1.8.0 bump, so I pushed it forward as a proposal.
> Python schema should store fingerprints
> ---------------------------------------
>
> Key: AVRO-1318
> URL: https://issues.apache.org/jira/browse/AVRO-1318
> Project: Avro
> Issue Type: Bug
> Components: python
> Reporter: Jeremy Kahn
> Assignee: Jeremy Kahn
> Priority: Minor
> Labels: features
> Attachments: AVRO-1318.patch
>
>
> Python schema objects need to produce a simple representation that
> demonstrates their field identity. {avro.schema.Schema} objects need to
> provide a {fingerprint} member field to enable quick checking of schema
> matching (even when the schema has other, possibly changed decoration).
> Based on a patch pulled from [~laserson]'s proposed changes to make a
> collection of C-typing hints. These changes will be backwards-compatible.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira