Details
-
Bug
-
Status: Resolved
-
Blocker
-
Resolution: Fixed
-
1.13.2
-
None
-
None
-
Windows
Description
When running for some hours, Nifi seems to stop processing flowfiles. When trying to stop the process to have a look at the queues, it seems that some processors are stuck and cannot be terminated.
In my particular case, I could not stop (among others) a simple ReplaceText processor, which just has to replace the complete content of a the flowfile by an empty String (so, no special wizardry here).
The thread dump shows this:
Timer-Driven Process Thread-2" Id=56 WAITING on java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject@32f60190 at java.base@11.0.9.1/jdk.internal.misc.Unsafe.park(Native Method) at java.base@11.0.9.1/java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) at java.base@11.0.9.1/java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) at org.apache.nifi.controller.repository.FileSystemRepository$ContainerState.waitForArchiveExpiration(FileSystemRepository.java:1660) at org.apache.nifi.controller.repository.FileSystemRepository.create(FileSystemRepository.java:609) at org.apache.nifi.controller.repository.claim.StandardContentClaimWriteCache.getContentClaim(StandardContentClaimWriteCache.java:63) at org.apache.nifi.controller.repository.StandardProcessSession.write(StandardProcessSession.java:2782) at org.apache.nifi.processors.standard.ReplaceText$AlwaysReplace.replace(ReplaceText.java:384) at org.apache.nifi.processors.standard.ReplaceText.onTrigger(ReplaceText.java:318) at app//org.apache.nifi.processor.AbstractProcessor.onTrigger(AbstractProcessor.java:27) at org.apache.nifi.controller.StandardProcessorNode.onTrigger(StandardProcessorNode.java:1173) at org.apache.nifi.controller.tasks.ConnectableTask.invoke(ConnectableTask.java:214) at org.apache.nifi.controller.scheduling.TimerDrivenSchedulingAgent$1.run(TimerDrivenSchedulingAgent.java:117) at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110) [...]
So, it seems to wait on some lock. Interestingly, according to the thread dump, there are in total 8 threads waiting for ConditionObject@32f60190.
Could you please check if I am doing something wrong here?
Thank you!