Yolanda M. Davis created NIFI-2524:
--------------------------------------
Summary: Unable to Merge Journal Files after OutOfMemory Error
Key: NIFI-2524
URL: https://issues.apache.org/jira/browse/NIFI-2524
Project: Apache NiFi
Issue Type: Bug
Components: Core Framework
Affects Versions: 1.0.0
Reporter: Yolanda M. Davis
While running a flow that attempted to SplitText by eol an OutOfMemory Error
occurred (which wasn't surprising since this was a standalone instance with no
tuning for memory, backpressure, etc).
{noformat}
ERROR [Timer-Driven Process Thread-9] o.a.nifi.processors.standard.SplitText
SplitText[id=6bb0fe36-0156-1000-795b-55cf4237a389]
SplitText[id=6bb0fe36-0156-1000-795b-55cf4237a389] failed to process due to
java.lang.OutOfMemoryError: Java heap space; rolling back session:
java.lang.OutOfMemoryError: Java heap space
2016-08-08 20:12:36,068 ERROR
[LeaseRenewer:[email protected]:8020]
org.apache.nifi.NiFi An Unknown Error Occurred in Thread
Thread[LeaseRenewer:[email protected]:8020,5,main]:
java.lang.OutOfMemoryError: Java heap space
2016-08-08 20:12:36,072 ERROR [Timer-Driven Process Thread-8]
o.a.n.p.PersistentProvenanceRepository Failed to persist Provenance Event due
to java.io.IOException: Stream Closed.
2016-08-08 20:12:55,111 ERROR
[LeaseRenewer:[email protected]:8020]
org.apache.nifi.NiFi
java.lang.OutOfMemoryError: Java heap space
at java.util.ArrayList.iterator(ArrayList.java:834) ~[na:1.8.0_101]
at
org.apache.hadoop.hdfs.LeaseRenewer.clientsRunning(LeaseRenewer.java:241)
~[na:na]
at org.apache.hadoop.hdfs.LeaseRenewer.run(LeaseRenewer.java:491)
~[na:na]
at org.apache.hadoop.hdfs.LeaseRenewer.access$700(LeaseRenewer.java:71)
~[na:na]
at org.apache.hadoop.hdfs.LeaseRenewer$1.run(LeaseRenewer.java:304)
~[na:na]
at java.lang.Thread.run(Thread.java:745) ~[na:1.8.0_101]
2016-08-08 20:12:58,022 ERROR [Timer-Driven Process Thread-9]
o.a.nifi.processors.standard.SplitText
java.lang.OutOfMemoryError: Java heap space
at java.util.HashMap.newNode(HashMap.java:1742) ~[na:1.8.0_101]
at java.util.HashMap.putVal(HashMap.java:630) ~[na:1.8.0_101]
at java.util.HashMap.putMapEntries(HashMap.java:514) ~[na:1.8.0_101]
at java.util.HashMap.putAll(HashMap.java:784) ~[na:1.8.0_101]
at
org.apache.nifi.controller.repository.StandardFlowFileRecord$Builder.fromFlowFile(StandardFlowFileRecord.java:307)
~[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.repository.StandardProcessSession.putAttribute(StandardProcessSession.java:1462)
~[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.processors.standard.SplitText$1.process(SplitText.java:499)
~[na:na]
at
org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:1880)
~[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.repository.StandardProcessSession.read(StandardProcessSession.java:1851)
~[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.processors.standard.SplitText.onTrigger(SplitText.java:420)
~[na:na]
at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
~[nifi-api-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1060)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:127)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_101]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
[na:1.8.0_101]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[na:1.8.0_101]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
[na:1.8.0_101]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_101]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
2016-08-08 20:13:04,246 ERROR [Timer-Driven Process Thread-8]
o.a.n.p.PersistentProvenanceRepository
java.io.IOException: Stream Closed
at java.io.FileOutputStream.writeBytes(Native Method) ~[na:1.8.0_101]
at java.io.FileOutputStream.write(FileOutputStream.java:326)
~[na:1.8.0_101]
at
org.apache.nifi.stream.io.ByteCountingOutputStream.write(ByteCountingOutputStream.java:49)
~[nifi-utils-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.stream.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:69)
~[nifi-utils-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.stream.io.BufferedOutputStream.flush(BufferedOutputStream.java:126)
~[nifi-utils-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.stream.io.ByteCountingOutputStream.flush(ByteCountingOutputStream.java:59)
~[nifi-utils-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.stream.io.DataOutputStream.flush(DataOutputStream.java:104)
~[nifi-utils-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.provenance.StandardRecordWriter.writeRecord(StandardRecordWriter.java:247)
~[nifi-persistent-provenance-repository-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.provenance.PersistentProvenanceRepository.persistRecord(PersistentProvenanceRepository.java:744)
[nifi-persistent-provenance-repository-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.provenance.PersistentProvenanceRepository.registerEvent(PersistentProvenanceRepository.java:405)
[nifi-persistent-provenance-repository-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.repository.StandardProvenanceReporter.send(StandardProvenanceReporter.java:203)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.repository.StandardProvenanceReporter.send(StandardProvenanceReporter.java:173)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.processors.hadoop.PutHDFS.onTrigger(PutHDFS.java:345)
[nifi-hdfs-processors-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27)
[nifi-api-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1060)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:136)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.tasks.ContinuallyRunProcessorTask.call(ContinuallyRunProcessorTask.java:47)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:127)
[nifi-framework-core-1.0.0-BETA.jar:1.0.0-BETA]
at
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
[na:1.8.0_101]
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
[na:1.8.0_101]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
[na:1.8.0_101]
at
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
[na:1.8.0_101]
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[na:1.8.0_101]
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[na:1.8.0_101]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_101]
2016-08-08 20:13:34,028 ERROR [Timer-Driven Process Thread-9]
o.a.nifi.processors.standard.SplitText
SplitText[id=6bb0fe36-0156-1000-795b-55cf4237a389]
SplitText[id=6bb0fe36-0156-1000-795b-55cf4237a389] failed to process session
due to java.lang.OutOfMemoryError: Java heap space: java.lang.OutOfMemoryError:
Java heap space
2016-08-08 20:13:34,028 ERROR [Timer-Driven Process Thread-9]
o.a.nifi.processors.standard.SplitText
java.lang.OutOfMemoryError: Java heap space
{noformat}
However after stopping the offending processor yet allowing processors down the
line to continue processing (including putting into hdfs) NiFi reported
ProvenanceRepository warnings rooted in a FileNotFoundException:
{noformat}
2016-08-08 20:28:31,358 WARN [Provenance Repository Rollover Thread-2]
o.a.n.p.PersistentProvenanceRepository Unable to merge
./provenance_repository/journals/91137.journal.0 with other Journal Files due
to java.io.FileNotFoundException: Unable to locate file
./provenance_repository/journals/91137.journal.0
2016-08-08 20:28:31,358 WARN [Provenance Repository Rollover Thread-2]
o.a.n.p.PersistentProvenanceRepository Unable to merge
./provenance_repository/journals/91137.journal.1 with other Journal Files due
to java.io.FileNotFoundException: Unable to locate file
./provenance_repository/journals/91137.journal.1
2016-08-08 20:28:31,358 WARN [Provenance Repository Rollover Thread-2]
o.a.n.p.PersistentProvenanceRepository Unable to merge
./provenance_repository/journals/91137.journal.2 with other Journal Files due
to java.io.FileNotFoundException: Unable to locate file
./provenance_repository/journals/91137.journal.2
2016-08-08 20:28:31,358 WARN [Provenance Repository Rollover Thread-2]
o.a.n.p.PersistentProvenanceRepository Unable to merge
./provenance_repository/journals/91137.journal.3 with other Journal Files due
to java.io.FileNotFoundException: Unable to locate file
./provenance_repository/journals/91137.journal.3
2016-08-08 20:28:31,358 WARN [Provenance Repository Rollover Thread-2]
o.a.n.p.PersistentProvenanceRepository Unable to merge
./provenance_repository/journals/91137.journal.4 with other Journal Files due
to java.io.FileNotFoundException: Unable to locate file
./provenance_repository/journals/91137.journal.4
{noformat}
These warnings persisted until NiFi was restarted completely. Upon restart the
system started successfully yet appear to purge unknown files from the
ContentRepository (via archiving)
{noformat}
2016-08-08 20:37:48,146 INFO [main] o.a.n.c.repository.FileSystemRepository
Found unknown file
/usr/nifi/nifi-1.0.0-BETA/content_repository/210/1470687051782-210 (1049769
bytes) in File System Repository; archiving file
2016-08-08 20:37:48,148 INFO [main] o.a.n.c.repository.FileSystemRepository
Found unknown file
/usr/nifi/nifi-1.0.0-BETA/content_repository/99/1470687045979-99 (1049310
bytes) in File System Repository; archiving file
2016-08-08 20:37:48,148 INFO [main] o.a.n.c.repository.FileSystemRepository
Found unknown file
/usr/nifi/nifi-1.0.0-BETA/content_repository/481/1470687065579-481 (1048861
bytes) in File System Repository; archiving file
2016-08-08 20:37:48,149 INFO [main] o.a.n.c.repository.FileSystemRepository
Found unknown file
/usr/nifi/nifi-1.0.0-BETA/content_repository/281/1470687054990-281 (1049854
bytes) in File System Repository; archiving file
{noformat}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)