[ 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)