Mark Payne created NIFI-2975:
--------------------------------

             Summary: NiFi attempts to expire FlowFiles before all have been 
restored
                 Key: NIFI-2975
                 URL: https://issues.apache.org/jira/browse/NIFI-2975
             Project: Apache NiFi
          Issue Type: Bug
          Components: Core Framework
            Reporter: Mark Payne
             Fix For: 1.2.0


Occasionally, I have seen the following log message in logs/nifi-app.log:

ERROR [Framework Task Thread Thread-1] o.a.n.controller.tasks.ExpireFlowFiles 
Failed to expire FlowFiles due to java.lang.IllegalStateException: Cannot 
update repository until record recovery has been performed
java.lang.IllegalStateException: Cannot update repository until record recovery 
has been performed
                at 
org.wali.MinimalLockingWriteAheadLog.update(MinimalLockingWriteAheadLog.java:199)
 ~[nifi-write-ahead-log-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.updateRepository(WriteAheadFlowFileRepository.java:219)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.repository.WriteAheadFlowFileRepository.updateRepository(WriteAheadFlowFileRepository.java:187)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.repository.StandardProcessSession.commit(StandardProcessSession.java:357)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.repository.StandardProcessSession.commit(StandardProcessSession.java:299)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.tasks.ExpireFlowFiles.expireFlowFiles(ExpireFlowFiles.java:85)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.tasks.ExpireFlowFiles.expireFlowFiles(ExpireFlowFiles.java:90)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.tasks.ExpireFlowFiles.expireFlowFiles(ExpireFlowFiles.java:116)
 ~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.tasks.ExpireFlowFiles.run(ExpireFlowFiles.java:56) 
~[nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
org.apache.nifi.controller.scheduling.StandardProcessScheduler$1.run(StandardProcessScheduler.java:115)
 [nifi-framework-core-1.0.0.2.0.1.0-12.jar:1.0.0.2.0.1.0-12]
                at 
java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
[na:1.8.0_45]
                at 
java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) [na:1.8.0_45]
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
 [na:1.8.0_45]
                at 
java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
 [na:1.8.0_45]
                at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
[na:1.8.0_45]
                at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
[na:1.8.0_45]
                at java.lang.Thread.run(Thread.java:745) [na:1.8.0_45]

This appears to be due to the fact that we are attempting to expire FlowFiles 
before we have finished recovering all of the FlowFiles from the 
FlowFileRepository. This is not really harmful, as the expiration will just 
keep trying until it is successful. However, it does result in some alarming 
ERROR-level messages in the logs and needs to be resolved.



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

Reply via email to