Wesley L Lawrence created NIFI-4064:
---------------------------------------
Summary: Funnel with no outgoing connections and a queued Flow
File uses high CPU
Key: NIFI-4064
URL: https://issues.apache.org/jira/browse/NIFI-4064
Project: Apache NiFi
Issue Type: Bug
Affects Versions: 1.3.0
Reporter: Wesley L Lawrence
Priority: Minor
Attachments: FlowWithOneFileInQueue.png, NifiPostEmptyLowCpu.png,
NifiPreEmptyHighCpu.png, WithFixPrePostCpu.png
I have a simple Flow where a file containing JSON data is read, and converted
to Avro.
!FlowWithOneFileInQueue.png|thumbnail!
However, I have the resulting Avro container file parked in a queue going to a
Funnel, and it causes my CPU to spike.
!NifiPreEmptyHighCpu.png!
Emptying the queue causes the CPU to return to normal.
!NifiPostEmptyLowCpu.png!
It seems that in the 'ContinuallyRunConnectableTask' class, it does correctly
determine that the Funnel shouldn't be run, but since there is both a FlowFile
in queue, and a relaiton, it also decides to not yield.
I've added both a fix for this (patch to follow), as well as a new unit test to
make sure Funnels without outgoing connections get yielded. With the fix, the
CPU spiking is gone.
!WithFixPrePostCpu.png!
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)