[ 
https://issues.apache.org/jira/browse/NIFI-10956?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Matt Burgess updated NIFI-10956:
--------------------------------
    Status: Patch Available  (was: In Progress)

> Schema Inference returns incorrect datatype for records where some arrays are 
> empty
> -----------------------------------------------------------------------------------
>
>                 Key: NIFI-10956
>                 URL: https://issues.apache.org/jira/browse/NIFI-10956
>             Project: Apache NiFi
>          Issue Type: Bug
>            Reporter: Matt Burgess
>            Assignee: Matt Burgess
>            Priority: Major
>          Time Spent: 10m
>  Remaining Estimate: 0h
>
> If in a FlowFile there is an array field in the schema and for at least one 
> record the value is an empty array and for at least one other record the 
> value is for example a record, the inference logic returns a choice between 
> array<string> and array<record>, and it is possible for the array<string> to 
> be used for the array elements even if they are records. 
> For text-based writers such as JsonRecordSetWriter, this results in a string 
> representation of the record, something like "MapRecord[{a=1,b=2}]" instead 
> of an actual record object. This is a result of empty arrays defaulting to 
> array<string> even if they are part of a choice where there are non-empty 
> arrays. Instead the inference logic should determine if any of the possible 
> choice datatypes are empty arrays and remove them from the list of possible 
> choices (unless that is the only choice, in which case it should default to 
> array<string> as it does now).



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to