Gábor Gyimesi created MINIFICPP-1849:
----------------------------------------
Summary: Serialization of empty response node ruins JSON
Key: MINIFICPP-1849
URL: https://issues.apache.org/jira/browse/MINIFICPP-1849
Project: Apache NiFi MiNiFi C++
Issue Type: Bug
Reporter: Gábor Gyimesi
Empty SerializedResponseNodes could ruin the outgoing JSON data. For example in
case there are multiple metrics defined in a metric group sent through C2 and
one of them is empty, the serialization skips the other metrics by mistake.
Example configuration:
{code:java}
nifi.c2.root.class.definitions=metrics
nifi.c2.root.class.definitions.metrics.name=metrics
nifi.c2.root.class.definitions.metrics.metrics=loadmetrics
nifi.c2.root.class.definitions.metrics.metrics.loadmetrics.name=LoadMetrics
nifi.c2.root.class.definitions.metrics.metrics.loadmetrics.classes=QueueMetrics,RepositoryMetrics{code}
If a flow contains processors the QueueMetrics is serialized properly with the
connection information next to RepositoryMetrics:
{code:java}
"LoadMetrics": { "QueueMetrics": { "GetFile/success/LogAttribute": {
"datasize": "0", "datasizemax": "1048576", "queued": "0", "queuedmax": "0" } },
"RepositoryMetrics": { "ff": { "full": false, "running": false, "size": "0" },
"repo_name": { "full": false, "running": true, "size": "0" } }},{code}
But when the flow is updated with an empty configuration file, due to the
empty QueueMetrics, the LoadMetrics turns into an array with a single element:
{code:java}
"LoadMetrics": [ "QueueMetrics" ]{code}
Handling of this case in the serialization should be handled, it is probably
problematic in other nodes as well, not just QueueMetrics.
--
This message was sent by Atlassian Jira
(v8.20.7#820007)