[
https://issues.apache.org/jira/browse/AVRO-1026?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13701729#comment-13701729
]
Steve Roehrs commented on AVRO-1026:
------------------------------------
This change has introduced a bug in NodeImpl.cc that corrupts JSON schemas when
writing them to disk or dumping to a stream. This manifested when using
DataFileWriter to generate a data file, and the schema stored in the header was
corrupted from the original schema provided.
e.g
This:
{
“type”: “fixed”,
“name”: “Unsigned16”,
“size”: 2
}
Becomes this when written out :
{
“type”: “fixed”,
“size”: 2,
“name” : “Unsigned16”,
}
Note the extraneous comma after the ‘name’ attribute, which makes it invalid
JSON, and results in the data file being unreadable by AVRO.
Since this change appears closed, I will raise a new ticket for the bug.
> Add namespace support to C++
> ----------------------------
>
> Key: AVRO-1026
> URL: https://issues.apache.org/jira/browse/AVRO-1026
> Project: Avro
> Issue Type: Improvement
> Components: c++
> Affects Versions: 1.6.1
> Reporter: Keh-Li Sheng
> Assignee: Keh-Li Sheng
> Labels: patch
> Fix For: 1.7.0
>
> Attachments: AVRO-1026-2.patch, AVRO-1026_json.patch,
> AVRO-1026.patch, AVRO-1026_with_AVRO-956.patch
>
>
> This patch adds support for reading and resolving schemas that use namespaces
> for named types. Looking for a code review and application of the patch to
> codebase.
> Node is modified to take an additional NamespaceConcept attribute in the
> template parameters. An additional stack has been added to the compiler
> context to track when namespaces have been entered or left for resolving
> further types/symbols. Symbolic resolution is now done against the "fullname"
> of the type and not just by the name. Some string gymnastics were needed in
> other areas of codegen in order to handle the new symbols.
> Added very trivial tests to AvrogencppTests for schema generation by
> avrogencpp and added a test schema (tweet) that has namespaces, a record
> definition inside a namespace, and then a later symbolic reference by name
> within an outer namespace. Also patched to work with gen-cppcode.py output.
> Note that NodeImpl::printBasicInfo intentionally does not output the
> namespace since that caused downstream breakage of gen-cppcode.py expected
> format.
> github project was forked at https://github.com/spindlelabs/avro
--
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