Hi All,
I’ve enjoyed working with nifi, and I am about to deploy it into production,
but I keep running into one problem:
I get an error on a ConvertAvroToJSON processor that is in a success path after
a ExecuteSQL processor. The messages stayed queued between the two processors.
When looking at the provenance for the ExecuteSQL processor, I do see hex data.
The error is:
2015-12-01 09:16:19,349 ERROR [Timer-Driven Process Thread-2]
o.a.n.processors.avro.ConvertAvroToJSON
ConvertAvroToJSON[id=dd7826cf-31d0-437a-9d69-54d91d7c0838]
ConvertAvroToJSON[id=dd7826cf-31d0-437a-9d69-54d91d7c0838] failed to process
due to java.util.NoSuchElementException; rolling back session:
java.util.NoSuchElementException
2015-12-01 09:16:19,350 ERROR [Timer-Driven Process Thread-2]
o.a.n.processors.avro.ConvertAvroToJSON
ConvertAvroToJSON[id=dd7826cf-31d0-437a-9d69-54d91d7c0838]
ConvertAvroToJSON[id=dd7826cf-31d0-437a-9d69-54d91d7c0838] failed to process
session due to java.util.NoSuchElementException:
java.util.NoSuchElementException
2015-12-01 09:16:19,350 WARN [Timer-Driven Process Thread-2]
o.a.n.processors.avro.ConvertAvroToJSON
ConvertAvroToJSON[id=dd7826cf-31d0-437a-9d69-54d91d7c0838] Processor
Administratively Yielded for 1 sec due to processing failure
2015-12-01 09:16:19,350 WARN [Timer-Driven Process Thread-2]
o.a.n.c.t.ContinuallyRunProcessorTask Administratively Yielding
ConvertAvroToJSON[id=dd7826cf-31d0-437a-9d69-54d91d7c0838] due to uncaught
Exception: java.util.NoSuchElementException
2015-12-01 09:16:19,353 WARN [Timer-Driven Process Thread-2]
o.a.n.c.t.ContinuallyRunProcessorTask
java.util.NoSuchElementException: null
at org.apache.avro.file.DataFileStream.next(DataFileStream.java:232)
~[na:na]
at org.apache.avro.file.DataFileStream.next(DataFileStream.java:220)
~[na:na]
at
org.apache.nifi.processors.avro.ConvertAvroToJSON$1.process(ConvertAvroToJSON.java:89)
~[na:na]
at
org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2155)
~[nifi-framework-core-0.3.0.jar:0.3.0]
at
org.apache.nifi.processors.avro.ConvertAvroToJSON.onTrigger(ConvertAvroToJSON.java:81)
~[na:na]
at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
~[nifi-api-0.3.0.jar:0.3.0]
at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1077)
~[nifi-framework-core-0.3.0.jar:0.3.0]
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:127)
[nifi-framework-core-0.3.0.jar:0.3.0]
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:49)
[nifi-framework-core-0.3.0.jar:0.3.0]
at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:119)
[nifi-framework-core-0.3.0.jar:0.3.0]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_66]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
[na:1.8.0_66]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[na:1.8.0_66]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
[na:1.8.0_66]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_66]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_66]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66]