ASF GitHub Bot commented on AVRO-1340:

cutting commented on a change in pull request #298: AVRO-1340: Added Enum 
Defaults and unit tests.
URL: https://github.com/apache/avro/pull/298#discussion_r174264624

 File path: lang/java/avro/src/main/java/org/apache/avro/Schema.java
 @@ -1450,7 +1473,7 @@ private static Schema applyAliases(Schema s, 
Map<Schema,Schema> seen,
     case ENUM:
       if (aliases.containsKey(name))
         result = Schema.createEnum(aliases.get(name).full, s.getDoc(), null,
-                                   s.getEnumSymbols());
+                                   s.getEnumSymbols(), s.getEnumDefault());
 Review comment:
   I scanned for other places where Schema.createEnum is called to see which 
need updates.
   ResolvingVisitor.java also needs this same change.  This is used to support 
IDL.  We should also add support to IDL for enum defaults.
   SchemaBuilder.java should be changed to permit specifying an enum default.

This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:

> 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

Reply via email to