Christophe Monnet created NIFI-7925:
---------------------------------------
Summary: ValidateRecord reports false positive for avro arrays
with null elements
Key: NIFI-7925
URL: https://issues.apache.org/jira/browse/NIFI-7925
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.12.1
Reporter: Christophe Monnet
with this avro schema:
{
"type": "record",
"name": "simple",
"fields": [{
"name": "stuff",
"type": {
"type": "record",
"name": "stuff",
"namespace": "simple",
"fields": [{
"name": "languages",
"type": {
"type": "array",
"items": ["null", "string"]
},
"doc": ""
}
]
},
"doc": ""
}
]
}
and this payload:
{"stuff":{"languages":[null]}}
ValidateRecord fails with
Records in this FlowFile were invalid for the following reasons: ; The
following 1 fields had values whose type did not match the schema:
[/stuff/languages]
But when using avrotool I can convert the payload:
$ avrotool fromjson --schema-file schema.json payload.json > payload.avro
$ avrotool tojson payload.avro
{"stuff":{"languages":[null]}}
Moreover with this payload
{"stuff":{"languages":[]}}
ValidateRecord routes to the valid queue.
Therefore I suspect that ValidateRecord has a bug when it comes to arrays with
nullable items.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)