[ https://issues.apache.org/jira/browse/THRIFT-735?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12875361#action_12875361 ]
Nathan Marz commented on THRIFT-735: ------------------------------------ That's a good point, I agree with what you've said. So we need a more complicated patch. > Required field checking is broken when the field type is a Union struct > ----------------------------------------------------------------------- > > Key: THRIFT-735 > URL: https://issues.apache.org/jira/browse/THRIFT-735 > Project: Thrift > Issue Type: Bug > Components: Compiler (Java), Library (Java) > Affects Versions: 0.2 > Reporter: Bryan Duxbury > Assignee: Bryan Duxbury > Fix For: 0.4 > > Attachments: thrift-735-v2.patch, thrift-735.patch > > > The validate() method on generated structs verifies that required fields are > set after validation. However, if the type of the field is a Union struct, > then just checking that the field isn't null is not a valid check. The value > may be a non-null union, but have an unset field. (We encountered this when > deserializing a type that had a union for a field, and the union's set value > was an enum value that had been removed from the definition, making it a > skip.) > In order to perform the correct validation, if the value is a Union, then we > must also check that the set field and value are non-null. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.