Uploaded image for project: 'Apache NiFi'
  1. Apache NiFi
  2. NIFI-4749

QueryRecord throws NPE when selecting complex objects if writer inherits schema

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 1.4.0
    • 1.5.0
    • None
    • None

    Description

      If we create a QueryRecord processor and choose a Record Writer that has a Schema Write Strategy of "Inherit Record," all works okay if the data being queried is 'flat' data. But if the data is hierarchical it can fail when attempting to write out the data, throwing a NullPointerException:

      2018-01-08 15:15:07,645 ERROR [NiFi logging handler] org.apache.nifi.StdErr java.lang.NullPointerException
      2018-01-08 15:15:07,648 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.json.WriteJsonResult.writeRecord(WriteJsonResult.java:167)
      2018-01-08 15:15:07,648 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.json.WriteJsonResult.writeValue(WriteJsonResult.java:348)
      2018-01-08 15:15:07,648 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.json.WriteJsonResult.writeArray(WriteJsonResult.java:385)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.json.WriteJsonResult.writeValue(WriteJsonResult.java:372)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.json.WriteJsonResult.writeRecord(WriteJsonResult.java:181)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.json.WriteJsonResult.writeRecord(WriteJsonResult.java:128)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.serialization.AbstractRecordSetWriter.write(AbstractRecordSetWriter.java:59)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.serialization.AbstractRecordSetWriter.write(AbstractRecordSetWriter.java:52)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.processors.standard.QueryRecord$1.process(QueryRecord.java:305)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2571)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.processors.standard.QueryRecord.onTrigger(QueryRecord.java:290)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1122)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:147)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:128)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
      2018-01-08 15:15:07,649 ERROR [NiFi logging handler] org.apache.nifi.StdErr     at java.lang.Thread.run(Thread.java:745)
      

      Attachments

        1. NIFI-4749.xml
          31 kB
          Mark Payne

        Issue Links

          Activity

            People

              markap14 Mark Payne
              markap14 Mark Payne
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: