You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@nifi.apache.org by "Mark Payne (JIRA)" <ji...@apache.org> on 2016/11/28 21:15:58 UTC
[jira] [Assigned] (NIFI-2975) NiFi attempts to expire FlowFiles
before all have been restored
[ https://issues.apache.org/jira/browse/NIFI-2975?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Payne reassigned NIFI-2975:
--------------------------------
Assignee: Mark Payne
> 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
> Assignee: 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)