Chris Sampson created NIFI-9222:
-----------------------------------

             Summary: ControllerStatusReportingTask NullPointerException when 
trying to printCounterStatus
                 Key: NIFI-9222
                 URL: https://issues.apache.org/jira/browse/NIFI-9222
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
    Affects Versions: 1.14.0
            Reporter: Chris Sampson


After upgrading to 1.14.0 (from 1.13.0), we're seeing the following stacktrace 
every 5 minutes (with a ControllerStatusReportingTask configured to execute in 
the cluster every 5 minutes):
{code:java}
2021-09-16 15:32:30,665 ERROR [Timer-Driven Process Thread-6] 
o.a.n.c.ControllerStatusReportingTask 
ControllerStatusReportingTask[id=c0c4e9cf-017b-1000-ffff-ffff83166400] : 
java.lang.NullPointerException
java.lang.NullPointerException: null
        at 
org.apache.nifi.controller.ControllerStatusReportingTask.printCounterStatus(ControllerStatusReportingTask.java:207)
        at 
org.apache.nifi.controller.ControllerStatusReportingTask.printCounterStatus(ControllerStatusReportingTask.java:233)
        at 
org.apache.nifi.controller.ControllerStatusReportingTask.printCounterStatus(ControllerStatusReportingTask.java:233)
        at 
org.apache.nifi.controller.ControllerStatusReportingTask.printCounterStatus(ControllerStatusReportingTask.java:233)
        at 
org.apache.nifi.controller.ControllerStatusReportingTask.printCounters(ControllerStatusReportingTask.java:196)
        at 
org.apache.nifi.controller.ControllerStatusReportingTask.onTrigger(ControllerStatusReportingTask.java:151)
        at 
org.apache.nifi.controller.tasks.ReportingTaskWrapper.run(ReportingTaskWrapper.java:44)
        at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
{code}

Looking at the [source 
code|https://github.com/apache/nifi/blob/rel/nifi-1.14.0/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-reporting-tasks/src/main/java/org/apache/nifi/controller/ControllerStatusReportingTask.java#L207],
 I'd guess that a check for there being no counters in the processorStatus 
would be sensible, e.g.
{code:java}
if (counters != null && !counters.isEmpty) { ... }
{code}



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to