[ https://issues.apache.org/jira/browse/AVRO-1007?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Scott Carey updated AVRO-1007: ------------------------------ Attachment: AVRO-1007-v4.patch This patch (v4) rebases the (v3) version to apply clean to trunk @rev 1242036 It works and passes tests with the change, and tests fail without the change. +1 Thanks! > Insufficient validation in generated specific record builder implementations > ---------------------------------------------------------------------------- > > Key: AVRO-1007 > URL: https://issues.apache.org/jira/browse/AVRO-1007 > Project: Avro > Issue Type: Bug > Affects Versions: 1.6.1 > Reporter: James Baldassari > Assignee: James Baldassari > Labels: java > Fix For: 1.6.2 > > Attachments: AVRO-1007-v2.patch, AVRO-1007-v3.patch, > AVRO-1007-v4.patch, AVRO-1007.patch > > > The are two main problems with the generated build() method in specific > record builders: > * For non-primitive types, if there is no default value and the user does not > set the value, build() will execute successfully without throwing an exception > ** Instead, an AvroRuntimeException should be thrown with an exception > message indicating the name of the required field that was not set > * For primitive types, if there is no default value and the user does not set > the value, an AvroRuntimeException is thrown with the 'cause' set to a > NullPointerException, which is not very helpful > ** The NPE comes from attempting to set the primitive field to the result of > defaultValue(), which is null -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa For more information on JIRA, see: http://www.atlassian.com/software/jira