Jeff Storck created NIFI-3330:
---------------------------------

             Summary: HandleHttpRequest intermittently throwing 
NullPointerException
                 Key: NIFI-3330
                 URL: https://issues.apache.org/jira/browse/NIFI-3330
             Project: Apache NiFi
          Issue Type: Bug
          Components: Extensions
    Affects Versions: 1.1.0
            Reporter: Jeff Storck
            Assignee: Jeff Storck
            Priority: Minor


HandleHttpRequest intermittently throws a NullPointerException, specifically 
seen while starting up a node that is part of a cluster in which the processors 
are in a started state.  The exception is occurring on a line which appears to 
have a null check before it, but it's a null check on the result of a method, 
not a variable.

{code}2017-01-11 14:34:13,708 ERROR [Timer-Driven Process Thread-220] 
o.a.n.p.standard.HandleHttpRequest 
HandleHttpRequest[id=e00f0d3b-0158-1000-1e3f-81d710d3d7c9] 
HandleHttpRequest[id=e00f0d3b-0158-1000-1e3f-81d710d3d7c9] failed to process 
due to j
ava.lang.NullPointerException; rolling back session: 
java.lang.NullPointerException
2017-01-11 14:34:13,996 ERROR [Timer-Driven Process Thread-220] 
o.a.n.p.standard.HandleHttpRequest
java.lang.NullPointerException: null
        at 
org.apache.nifi.processors.standard.HandleHttpRequest.onTrigger(HandleHttpRequest.java:527)
 ~[nifi-standard-processors-1.1.0.jar:1.1.0]
        at 
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
 ~[nifi-api-1.1.0.jar:1.1.0]
        at 
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1099)
 [nifi-framework-core-1.1.0.jar:1.1.0]
        at 
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
 [nifi-framework-core-1.1.0.jar:1.1.0]
        at 
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
 [nifi-framework-core-1.1.0.jar:1.1.0]
        at 
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:132)
 [nifi-framework-core-1.1.0.jar:1.1.0]
        at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[na:1.8.0_111]
        at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) 
[na:1.8.0_111]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 [na:1.8.0_111]
        at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 [na:1.8.0_111]
        at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[na:1.8.0_111]
        at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_111]
        at java.lang.Thread.run(Thread.java:745) [na:1.8.0_111]{code}

The following section (and other sections similar to it) in the onTrigger 
method:
{code}            if (request.getDispatcherType() != null) {
                putAttribute(attributes, "http.dispatcher.type", 
request.getDispatcherType().name());
            }{code}

should be updated to save the result of the method and then check for null 
before operating on that value.

For example:
{code}String dispatcherType = request.getDispatcherType();
if (dispatcherType != null) {
        putAttribute(attributes, "http.dispatcher.type", dispatcherType);
}{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to