[ https://issues.apache.org/jira/browse/AVRO-75?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12798124#action_12798124 ]
Philip Zeyliger commented on AVRO-75: ------------------------------------- Patch looks fine, but there's not a test which shows the exception being triggered. > 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.