[ 
https://issues.apache.org/jira/browse/AVRO-1340?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16664363#comment-16664363
 ] 

ASF GitHub Bot commented on AVRO-1340:
--------------------------------------

cutting closed pull request #357: Updated spec to agree with implementation of 
AVRO-1340
URL: https://github.com/apache/avro/pull/357
 
 
   

This is a PR merged from a forked repository.
As GitHub hides the original diff on merge, it is displayed below for
the sake of provenance:

As this is a foreign pull request (from a fork), the diff is supplied
below (as it won't show otherwise due to GitHub magic):

diff --git a/doc/src/content/xdocs/spec.xml b/doc/src/content/xdocs/spec.xml
index 3a680a2ed..fd780f9ec 100644
--- a/doc/src/content/xdocs/spec.xml
+++ b/doc/src/content/xdocs/spec.xml
@@ -172,6 +172,14 @@
            be unique; duplicates are prohibited.  Every symbol must
            match the regular expression <code>[A-Za-z_][A-Za-z0-9_]*</code>
            (the same requirement as for <a href="#names">names</a>).</li>
+           <li><code>default</code>: A default value for this
+             enumeration, used during resolution when the reader
+             encounters a symbol from the writer that isn't defined
+             in the reader's schema (optional).  The value provided
+             here must be a JSON string that's a member of
+             the <code>symbols</code> array.
+             See documentation on schema resolution for how this gets
+             used.</li>
          </ul>
          <p>For example, playing card suits might be defined with:</p>
          <source>
@@ -1139,7 +1147,8 @@
 
         <li><strong>if both are enums:</strong>
           <p>if the writer's symbol is not present in the reader's
-            enum, then an error is signalled.</p>
+            enum and the reader has a <code>default</code> value, then
+            that value is used, otherwise an error is signalled.</p>
         </li>
 
         <li><strong>if both are arrays:</strong>


 

----------------------------------------------------------------
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:
us...@infra.apache.org


> 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
>            Assignee: Adam Bellemare
>            Priority: Minor
>             Fix For: 1.9.0
>
>
> 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
(v7.6.3#76005)

Reply via email to