looks like tests are getting stuck while shutting down the controller.
Observed this while running tests using ```./gradlew cleanTest :core:test```.
Not able to reproduce If i run individual tests . looks like some race
condition.
```
"Test worker" #11 prio=5 os_prio=31 tid=0x00007fb95b8e1800 nid=0x5603 in
Object.wait() [0x00007000015d2000]
java.lang.Thread.State: WAITING (on object monitor)
at java.lang.Object.wait(Native Method)
at java.lang.Object.wait(Object.java:502)
at
scala.concurrent.forkjoin.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:295)
- locked <0x0000000795b0f330> (a
scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask)
at scala.concurrent.forkjoin.ForkJoinTask.doJoin(ForkJoinTask.java:341)
at scala.concurrent.forkjoin.ForkJoinTask.join(ForkJoinTask.java:673)
at
scala.collection.parallel.ForkJoinTasks$WrappedTask$class.sync(Tasks.scala:378)
at
scala.collection.parallel.AdaptiveWorkStealingForkJoinTasks$WrappedTask.sync(Tasks.scala:443)
at
scala.collection.parallel.ForkJoinTasks$class.executeAndWaitResult(Tasks.scala:426)
at
scala.collection.parallel.ForkJoinTaskSupport.executeAndWaitResult(TaskSupport.scala:56)
at
scala.collection.parallel.ExecutionContextTasks$class.executeAndWaitResult(Tasks.scala:558)
at
scala.collection.parallel.ExecutionContextTaskSupport.executeAndWaitResult(TaskSupport.scala:80)
at
scala.collection.parallel.ParIterableLike$class.foreach(ParIterableLike.scala:463)
at
scala.collection.parallel.immutable.ParVector.foreach(ParVector.scala:38)
at kafka.utils.TestUtils$.shutdownServers(TestUtils.scala:191)
at
kafka.admin.ReassignPartitionsClusterTest.tearDown(ReassignPartitionsClusterTest.scala:77)
"ForkJoinPool-1-worker-7" #229 daemon prio=5 os_prio=31 tid=0x00007fb961c0f800
nid=0xcc07 waiting on condition [0x00007000019e0000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007b236f8e0> (a
java.util.concurrent.CountDownLatch$Sync)
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.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
at java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
at
kafka.utils.ShutdownableThread.awaitShutdown(ShutdownableThread.scala:57)
at
kafka.controller.ControllerEventManager.close(ControllerEventManager.scala:64)
at kafka.controller.KafkaController.shutdown(KafkaController.scala:180)
at
kafka.server.KafkaServer$$anonfun$shutdown$14.apply$mcV$sp(KafkaServer.scala:601)
at kafka.utils.CoreUtils$.swallow(CoreUtils.scala:86)
at kafka.server.KafkaServer.shutdown(KafkaServer.scala:601)
at
kafka.utils.TestUtils$$anonfun$shutdownServers$1.apply(TestUtils.scala:192)
at
kafka.utils.TestUtils$$anonfun$shutdownServers$1.apply(TestUtils.scala:191)
"controller-event-thread" #1914 prio=5 os_prio=31 tid=0x00007fb961d3f000
nid=0x1ba07 waiting on condition [0x000070000beca000]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00000007b236f250> (a
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at
java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)
at
java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)
at
kafka.controller.ControllerEventManager$ControllerEventThread.doWork(ControllerEventManager.scala:80)
at kafka.utils.ShutdownableThread.run(ShutdownableThread.scala:82)
```
[ Full content available at: https://github.com/apache/kafka/pull/5101 ]
This message was relayed via gitbox.apache.org for [email protected]