You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "Alex Moundalexis (JIRA)" <ji...@apache.org> on 2014/06/10 17:52:01 UTC
[jira] [Commented] (AVRO-1460) Perl API doesn't raise warning/error
when encoding record with spurious fields
[ https://issues.apache.org/jira/browse/AVRO-1460?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14026602#comment-14026602 ]
Alex Moundalexis commented on AVRO-1460:
----------------------------------------
+1
> 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)