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 2021/06/07 22:00:00 UTC
[jira] [Updated] (NIFI-8667) Deadlock when enabling Controller
Service and all Referencing Components
[ https://issues.apache.org/jira/browse/NIFI-8667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mark Payne updated NIFI-8667:
-----------------------------
Status: Patch Available (was: Open)
> Deadlock when enabling Controller Service and all Referencing Components
> ------------------------------------------------------------------------
>
> Key: NIFI-8667
> URL: https://issues.apache.org/jira/browse/NIFI-8667
> Project: Apache NiFi
> Issue Type: Bug
> Components: Core Framework
> Affects Versions: 1.14.0
> Reporter: Mark Payne
> Assignee: Mark Payne
> Priority: Blocker
> Fix For: 1.14.0
>
>
> I have a flow configured with an AvroSchemaRegistry. I have a JSON Reader and a JSON Writer both referencing it. I then have a few processors referencing both the reader and the writer.
> When I click Enable on the AvroSchemaRegistry and choose to enable all referencing components, I encountered a deadlock. The threads involved were:
> {quote}
> "Timer-Driven Process Thread-9" Id=80 WAITING on java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@32a7e726 ** DEADLOCKED THREAD **
> at sun.misc.Unsafe.park(Native Method)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
> at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
> at org.apache.nifi.controller.service.ServiceStateTransition.getState(ServiceStateTransition.java:125)
> at org.apache.nifi.controller.service.StandardControllerServiceNode.getState(StandardControllerServiceNode.java:363)
> at org.apache.nifi.controller.AbstractComponentNode.validateReferencedControllerServices(AbstractComponentNode.java:719)
> at org.apache.nifi.controller.AbstractComponentNode.computeValidationErrors(AbstractComponentNode.java:611)
> at org.apache.nifi.controller.StandardProcessorNode.computeValidationErrors(StandardProcessorNode.java:1054)
> at org.apache.nifi.controller.AbstractComponentNode.performValidation(AbstractComponentNode.java:574)
> at org.apache.nifi.controller.AbstractComponentNode.performValidation(AbstractComponentNode.java:588)
> at org.apache.nifi.controller.service.ServiceStateTransition.enable(ServiceStateTransition.java:83)
> at org.apache.nifi.controller.service.StandardControllerServiceNode$2.run(StandardControllerServiceNode.java:460)
> - waiting on java.util.concurrent.atomic.AtomicBoolean@126cb602
> at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Number of Locked Synchronizers: 2
> - java.util.concurrent.ThreadPoolExecutor$Worker@6492d91f
> - java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@b052adc
> "Timer-Driven Process Thread-8" Id=78 WAITING on java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@b052adc ** DEADLOCKED THREAD **
> at sun.misc.Unsafe.park(Native Method)
> at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
> at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
> at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
> at org.apache.nifi.controller.service.ServiceStateTransition.getState(ServiceStateTransition.java:125)
> at org.apache.nifi.controller.service.StandardControllerServiceNode.getState(StandardControllerServiceNode.java:363)
> at org.apache.nifi.controller.AbstractComponentNode.validateReferencedControllerServices(AbstractComponentNode.java:719)
> at org.apache.nifi.controller.AbstractComponentNode.computeValidationErrors(AbstractComponentNode.java:611)
> at org.apache.nifi.controller.StandardProcessorNode.computeValidationErrors(StandardProcessorNode.java:1054)
> at org.apache.nifi.controller.AbstractComponentNode.performValidation(AbstractComponentNode.java:574)
> at org.apache.nifi.controller.AbstractComponentNode.performValidation(AbstractComponentNode.java:588)
> at org.apache.nifi.controller.service.ServiceStateTransition.enable(ServiceStateTransition.java:83)
> at org.apache.nifi.controller.service.StandardControllerServiceNode$2.run(StandardControllerServiceNode.java:460)
> - waiting on java.util.concurrent.atomic.AtomicBoolean@2cdc4681
> at org.apache.nifi.engine.FlowEngine$2.run(FlowEngine.java:110)
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
> at java.util.concurrent.FutureTask.run(FutureTask.java:266)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
> at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
> at java.lang.Thread.run(Thread.java:748)
> Number of Locked Synchronizers: 2
> - java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync@32a7e726
> - java.util.concurrent.ThreadPoolExecutor$Worker@7814cc76
> {quote}
--
This message was sent by Atlassian Jira
(v8.3.4#803005)