[
https://issues.apache.org/jira/browse/AVRO-1340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16143186#comment-16143186
]
Zoltan Farkas commented on AVRO-1340:
-------------------------------------
In you example if v2 symbols are identical with v1 symbols, converting from v1
<-> v2 will never involve the fallbackValue as such conversion will correct.
But if we have v3:
V3:
"name":"httpResponseCode",
"symbols":["UNKNOWN", "200", "404", "500", "300"],
"fallbackSymbol": "UNKNOWN"
When converting v3 "300" to v1 we get UNKNOWN and to v2 we would get "500"...
not pretty... but on the other hand code written against v1 and v2 might deal
with this correctly... but yuck...
All the use cases I have in mind, changing the fallback symbol does not make
much sense... so unless somebody has a use case where fallback symbol change
makes sense I am in favor of enforcing the fallbackSymbol to stay the same...
one thing less to miss-use...
> 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)