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

Doug Cutting commented on AVRO-1460:
------------------------------------

Perhaps this check ought to be optional, or maybe the warning should only be 
printed once, for the first such occurrence.  If an application relies on this 
we don't want to flood their logs with warnings.  Longer-term, do we really 
want to prohibit fields that are not serialized?

> Perl API doesn't raise warning/error when encoding record with spurious fields
> ------------------------------------------------------------------------------
>
>                 Key: AVRO-1460
>                 URL: https://issues.apache.org/jira/browse/AVRO-1460
>             Project: Avro
>          Issue Type: Improvement
>          Components: perl
>            Reporter: John Karp
>            Assignee: John Karp
>            Priority: Minor
>             Fix For: 1.7.7
>
>         Attachments: AVRO-1460.patch
>
>
> When serializing a record with a field that isn't specified in the schema, 
> there should be some sort of warning or error. Otherwise, a simple typo in a 
> field name can lead to silent loss of that field's data.
> Test case that should pass but currently fails:
> {noformat}
> {
>     my $schema = Avro::Schema->parse(<<EOJ);
>           {
>           "type": "record",
>           "name": "test",
>           "fields" : [
>           {"name": "a", "type": "long"}
>           ]
>           }
> EOJ
>     my $enc = '';
>     eval {
>         Avro::BinaryEncoder->encode(
>             schema => $schema,
>             data => { a => 27, b => 'foo' },
>             emit_cb => sub { $enc .= ${ $_[0] } },
>         );
>     };
>     isa_ok $@, 'Avro::BinaryEncoder::Error';
> }
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to