[ https://issues.apache.org/jira/browse/AVRO-75?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Doug Cutting updated AVRO-75: ----------------------------- Attachment: AVRO-75.patch Here's a patch that changes "unset" to "an error is signalled" and updates the Java implementation to implement this. > 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 > Fix For: 1.3.0 > > Attachments: AVRO-75.patch > > > 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.