-
Bug
-
Resolution: Obsolete
-
Major
-
None
-
9.4.13.Final
-
DataGrid Sprint #30
All the ForkJoin.commonPool in the thread dump are busy doing blocking operations:
"ForkJoinPool.commonPool-worker-1" #66 prio=0 tid=0x42 nid=NA timed_waiting java.lang.Thread.State: TIMED_WAITING at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x75d9efe2> (a java.util.concurrent.CompletableFuture$Signaller) at java.util.concurrent.locks.LockSupport.parkNanos(LockSupport.java:215) at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1695) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3313) at java.util.concurrent.CompletableFuture.timedGet(CompletableFuture.java:1775) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1915) at org.infinispan.client.hotrod.impl.Util.await(Util.java:21) at org.infinispan.client.hotrod.impl.RemoteCacheImpl.put(RemoteCacheImpl.java:335) at org.infinispan.client.hotrod.impl.RemoteCacheSupport.put(RemoteCacheSupport.java:79) at org.infinispan.client.hotrod.impl.iteration.AbstractRemoteIteratorTest.lambda$populateCache$0(AbstractRemoteIteratorTest.java:34)
ForkJoinPool.commonPool is supposed to add new threads to maintain the default parallelism level (= number of cpus), but that doesn't seem to work because RemoteCacheManagerTest is trying to start a cache and it didn't get a commonPool thread:
"testng-RemoteCacheManagerTest" #61 prio=0 tid=0x3d nid=NA waiting java.lang.Thread.State: WAITING at sun.misc.Unsafe.park(Native Method) - parking to wait for <0x23a92f0a> (a java.util.concurrent.CompletableFuture$Signaller) at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175) at java.util.concurrent.CompletableFuture$Signaller.block(CompletableFuture.java:1693) at java.util.concurrent.ForkJoinPool.managedBlock(ForkJoinPool.java:3323) at java.util.concurrent.CompletableFuture.waitingGet(CompletableFuture.java:1729) at java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1895) at org.infinispan.client.hotrod.RemoteCacheManagerTest.testStartStopAsync(RemoteCacheManagerTest.java:55)
Server threads are all free. The first test to time out was ProtobufRemoteIteratorIndexingTest, but most put operations on ForkJoinPool.commonPool are issued by ReplFailOverRemoteIteratorTest:
"testng-ReplFailOverRemoteIteratorTest" #62 prio=0 tid=0x3e nid=NA waiting java.lang.Thread.State: WAITING at java.lang.Object.wait(Native Method) - waiting on <0x404a8e70> (a java.util.stream.ForEachOps$ForEachTask) at java.util.concurrent.ForkJoinTask.externalAwaitDone(ForkJoinTask.java:334) at java.util.concurrent.ForkJoinTask.doInvoke(ForkJoinTask.java:405) at java.util.concurrent.ForkJoinTask.invoke(ForkJoinTask.java:734) at java.util.stream.ForEachOps$ForEachOp.evaluateParallel(ForEachOps.java:160) at java.util.stream.ForEachOps$ForEachOp$OfInt.evaluateParallel(ForEachOps.java:189) at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:233) at java.util.stream.IntPipeline.forEach(IntPipeline.java:404) at java.util.stream.IntPipeline$Head.forEach(IntPipeline.java:560) at org.infinispan.client.hotrod.impl.iteration.AbstractRemoteIteratorTest.populateCache(AbstractRemoteIteratorTest.java:34) at org.infinispan.client.hotrod.impl.iteration.BaseIterationFailOverTest.testFailOver(BaseIterationFailOverTest.java:38)