Simon Woodford created AVRO-1849:
------------------------------------
Summary: 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.8.0, 1.7.7
Environment: Not relevant
Reporter: Simon Woodford
Priority: Minor
Fix For: 1.8.1
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)