[ https://issues.apache.org/jira/browse/NIFI-8667?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Matt Burgess updated NIFI-8667: ------------------------------- Resolution: Fixed Status: Resolved (was: Patch Available) > 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 > > Time Spent: 40m > Remaining Estimate: 0h > > 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)