[ 
https://issues.apache.org/jira/browse/AVRO-1343?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13696985#comment-13696985
 ] 

Doug Cutting commented on AVRO-1343:
------------------------------------

This seems like an incompatible change.  Folks could have applications that 
rely on extra fields being ignored and those applications would be broken by 
this change, no?

Also, can you please provide an example for how this creates problems with 
unions?
                
> Python: validate too permissive on records with extra fields
> ------------------------------------------------------------
>
>                 Key: AVRO-1343
>                 URL: https://issues.apache.org/jira/browse/AVRO-1343
>             Project: Avro
>          Issue Type: Bug
>          Components: python
>            Reporter: Jeremy Kahn
>            Assignee: Jeremy Kahn
>             Fix For: 1.7.5
>
>         Attachments: AVRO-1343-tests.patch, AVRO-1343-validate.patch
>
>
> Python's validator silently accepts (generic) records with extra fields and 
> considers them valid.
> For example, {{io.validate}} silently considers that the schema:
> {noformat}{"type": "record",
>  "name": "Test",
>  "fields": [{"name": "f", "type": "long"}]}
> {noformat}
> should accept records like:
> {noformat}{'f': 5, 'extra_field': "abc"}{noformat}
> but this is problematic.
> This is *especially* problematic for encoding unions, because internally the 
> Python serializer uses {{validate}} to find the appropriate schema with which 
> to encode a given object.
> In the current implementation, union schema selection is the *last* schema 
> that {{validate(schema, obj)}} returns {{True}} for.  If {{validate}} isn't 
> picky, this encoding will frequently guess wrong.
> I will attach two patches: one to the tests and one to the {{validate}} 
> function.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to