[
https://issues.apache.org/jira/browse/AVRO-1340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16154592#comment-16154592
]
Felix GV commented on AVRO-1340:
--------------------------------
They're equivalent only in so far as the reader doesn't know about the new enum
values... then they can fall-back on an alias during schema evolution. But a
reader that does know about an enum value would get precisely that value, not a
(presumably less precise) alias.
Or anyway, that's how I had understood the original proposal to work. I could
have mistaken the intent, of course.
There are a few general design choices to make as part of this proposal. One of
the big choices, IMHO, is to decide whether ensuring changes are compatible is
a responsibility of the reader or the writer? Or if both can define it, then
which side takes precedence when evaluating the evolution rules? Once this is
figured out, then the semantics of how to declare changes and fallbacks and
aliases should become more evident...
> use default to allow old readers to specify default enum value when
> encountering new enum symbols
> -------------------------------------------------------------------------------------------------
>
> Key: AVRO-1340
> URL: https://issues.apache.org/jira/browse/AVRO-1340
> Project: Avro
> Issue Type: Improvement
> Components: spec
> Environment: N/A
> Reporter: Jim Donofrio
> Priority: Minor
>
> The schema resolution page says:
> > if both are enums:
> > if the writer's symbol is not present in the reader's enum, then an
> error is signalled.
> This makes it difficult to use enum's because you can never add a enum value
> and keep old reader's compatible. Why not use the default option to refer to
> one of enum values so that when a old reader encounters a enum ordinal it
> does not recognize, it can default to the optional schema provided one. If
> the old schema does not provide a default then the older reader can continue
> to fail as it does today.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)