avro-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Jeremy Kahn (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AVRO-1318) Python schema should store fingerprints
Date Mon, 01 Jul 2013 18:14:21 GMT

    [ 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
> 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

View raw message