Clarify resolution for enums (and fix code)
-------------------------------------------

                 Key: AVRO-75
                 URL: https://issues.apache.org/jira/browse/AVRO-75
             Project: Avro
          Issue Type: Bug
          Components: spec
            Reporter: Raymie Stata
            Assignee: Doug Cutting


The current resolution rule for enum's says: "if the writer's symbol is not 
present in the reader's enum, then the enum value is unset."  This is the only 
place the word "unset" is used in the doc, it's not clear what you mean.  The 
code seems to be inconsistent: GenericDatumReader will happily return a symbol 
the reader doesn't understand; ReflectDatumReader will probably throw a 
class-not-found exception; ResolvingDecoder throws an error.

I propose that we declare this case an error, i.e., rewrite the spec to "if the 
writer's symbol is not listed in the reader's enum, an error is signaled."  
GenericDatumReader should be updated to throw an error in this case.

If we decide to stick with the "unset" language, we need to define what "unset" 
means (and, if necessary, update ReflectDatumReader and ResolvingDecoder).

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to