You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avro.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2016/09/27 14:52:20 UTC

[jira] [Commented] (AVRO-1849) C++ printJson fails on record with no fields

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

ASF subversion and git services commented on AVRO-1849:
-------------------------------------------------------

Commit 1296ce9238a315b4323db351483dc66ec1a1afe3 in avro's branch refs/heads/master from [~tomwhite]
[ https://git-wip-us.apache.org/repos/asf?p=avro.git;h=1296ce9 ]

AVRO-1849: C++: printJson fails on record with no fields. Contributed by Simon Woodford.


> C++ printJson fails on record with no fields
> --------------------------------------------
>
>                 Key: AVRO-1849
>                 URL: https://issues.apache.org/jira/browse/AVRO-1849
>             Project: Avro
>          Issue Type: Bug
>          Components: c++
>    Affects Versions: 1.7.7, 1.8.0
>         Environment: Not relevant
>            Reporter: Simon Woodford
>            Priority: Minor
>
> The function NodeRecord::printJson in lang/c++/impl/NodeImpl.cc does not correctly handle a record with no fields. It injects an extra closing curly brace, and the result is invalid JSON. 
> Starting with a schema
> {
>   "type": "record", 
>   "name": "Example",
>   "fields" : [
>   ]
> }
> and parsing it to create a ValidSchema, then calling toJson on the ValidSchema generates
> {
>   "type": "record", 
>   "name": "Example",
>   "fields" : [
>     }
>   ]
> }
> A record with no fields is unusual but we have encountered use cases for it, avro does not invalidate a record with no fields, and I've confirmed that Java, C and C# handle this case correctly. (I have not checked the other supported languages.)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)