You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Tamas Palfy (Jira)" <ji...@apache.org> on 2021/03/24 20:16:00 UTC
[jira] [Updated] (NIFI-8365) JSON record reader mishandles deep
CHOICE types
[ https://issues.apache.org/jira/browse/NIFI-8365?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Tamas Palfy updated NIFI-8365:
------------------------------
Description:
The AbstractJsonRowRecordReader when trying to find the correct schema for a given record it may come with a wrong one.
For example:
Suppose the following record:
{code:json}
{
"dataCollection":[
{
"record": {
"integer": 1,
"boolean": true
}
},
{
"record": {
"integer": 2,
"string": "stringValue2"
}
}
]
}
{code}
Even if the schema is correctly set (which may not be the case as infer schema itself has a similar issue),
the second record
{code:json}
{
"record": {
"integer": 2,
"string": "stringValue2"
}
}
{code}
will be assigned the schema of the first.
This will cause the fields that are not present in the schema to be omitted when writing it out.
was:
The AbstractJsonRowRecordReader when trying to find the correct schema for a given record it may come with a wrong one.
For example:
Suppose the following record:
{code:json}
{
"dataCollection":[
{
"record": {
"integer": 1,
"boolean": true
}
},
{
"record": {
"integer": 2,
"string": "stringValue2"
}
}
]
}
{code}
Even if the schema is correctly set (which is may not be the case as infer schema itself has a similar issue),
the second record
{code:json}
{
"record": {
"integer": 2,
"string": "stringValue2"
}
}
{code}
will be assigned the schema of the first.
This will cause the fields that are not present in the schema to be omitted when writing it out.
> JSON record reader mishandles deep CHOICE types
> -----------------------------------------------
>
> Key: NIFI-8365
> URL: https://issues.apache.org/jira/browse/NIFI-8365
> Project: Apache NiFi
> Issue Type: Bug
> Reporter: Tamas Palfy
> Priority: Major
>
> The AbstractJsonRowRecordReader when trying to find the correct schema for a given record it may come with a wrong one.
> For example:
> Suppose the following record:
> {code:json}
> {
> "dataCollection":[
> {
> "record": {
> "integer": 1,
> "boolean": true
> }
> },
> {
> "record": {
> "integer": 2,
> "string": "stringValue2"
> }
> }
> ]
> }
> {code}
> Even if the schema is correctly set (which may not be the case as infer schema itself has a similar issue),
> the second record
> {code:json}
> {
> "record": {
> "integer": 2,
> "string": "stringValue2"
> }
> }
> {code}
> will be assigned the schema of the first.
> This will cause the fields that are not present in the schema to be omitted when writing it out.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)