-
Bug
-
Resolution: Done
-
Minor
-
None
-
None
When stopping the perf.Test, one thread in CT is still running (stack trace below). This is also the reason for the unit test failure in ConnectionTableTest.
The thread calls take() on a LinkedBlockingQueue, and the stop() method calls queue.clear() to terminate the thread, but apparently that's not the case.
Solution: find out what terminates take() and call it in stop().
"ConnectionTable.Connection.Sender local_addr=192.168.0.5:7800 [192.168.0.5:7800 - 192.168.0.5:53444]" daemon prio=10 tid=0x00002aaacb846400 nid=0x1cd8 waiting on condition [0x0000000040a65000..0x0000000040a65c10]
java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for <0x00002aaab41d4da8> (a java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:158)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:1889)
at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:358)
at org.jgroups.blocks.BasicConnectionTable$Connection$Sender.run(BasicConnectionTable.java:696)
at java.lang.Thread.run(Thread.java:619)