suztomo edited a comment on pull request #14474:
URL: https://github.com/apache/beam/pull/14474#issuecomment-817233402


   Another case 
https://ci-beam.apache.org/job/beam_PreCommit_Java_Phrase/3411/console
   
   https://gist.github.com/suztomo/ffe95ebd130b13a35835a328866e948e
   
   
   ```
   21:27:18 "pool-123-thread-2" #177 prio=5 os_prio=0 tid=0x00007fa81d03c000 
nid=0x56ca waiting on condition [0x00007fa7920e1000]
   21:27:18    java.lang.Thread.State: WAITING (parking)
   21:27:18     at sun.misc.Unsafe.park(Native Method)
   21:27:18     - parking to wait for  <0x00000000e59a4950> (a 
java.util.concurrent.CountDownLatch$Sync)
   21:27:18     at 
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   21:27:18     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
   21:27:18     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
   21:27:18     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
   21:27:18     at 
java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
   21:27:18     at 
org.apache.beam.runners.fnexecution.logging.GrpcLoggingServiceTest.lambda$testMultipleClientsFailingIsHandledGracefullyByServer$2(GrpcLoggingServiceTest.java:122)
   21:27:18     at 
org.apache.beam.runners.fnexecution.logging.GrpcLoggingServiceTest$$Lambda$425/725871145.call(Unknown
 Source)
   21:27:18     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   21:27:18     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   21:27:18     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   21:27:18     at java.lang.Thread.run(Thread.java:748)
   21:27:18 
   21:27:18 "pool-123-thread-1" #176 prio=5 os_prio=0 tid=0x00007fa81d03b000 
nid=0x56c9 waiting on condition [0x00007fa840590000]
   21:27:18    java.lang.Thread.State: WAITING (parking)
   21:27:18     at sun.misc.Unsafe.park(Native Method)
   21:27:18     - parking to wait for  <0x00000000e574c180> (a 
java.util.concurrent.CountDownLatch$Sync)
   21:27:18     at 
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   21:27:18     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
   21:27:18     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireSharedInterruptibly(AbstractQueuedSynchronizer.java:997)
   21:27:18     at 
java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireSharedInterruptibly(AbstractQueuedSynchronizer.java:1304)
   21:27:18     at 
java.util.concurrent.CountDownLatch.await(CountDownLatch.java:231)
   21:27:18     at 
org.apache.beam.runners.fnexecution.logging.GrpcLoggingServiceTest.lambda$testMultipleClientsFailingIsHandledGracefullyByServer$2(GrpcLoggingServiceTest.java:122)
   21:27:18     at 
org.apache.beam.runners.fnexecution.logging.GrpcLoggingServiceTest$$Lambda$425/725871145.call(Unknown
 Source)
   21:27:18     at java.util.concurrent.FutureTask.run(FutureTask.java:266)
   21:27:18     at 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
   21:27:18     at 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
   21:27:18     at java.lang.Thread.run(Thread.java:748)
   21:27:18 
   ...
   21:27:18 "Test worker" #20 prio=5 os_prio=0 tid=0x00007fa8c0cc6000 
nid=0x51f3 waiting on condition [0x00007fa874b6b000]
   21:27:18    java.lang.Thread.State: WAITING (parking)
   21:27:18     at sun.misc.Unsafe.park(Native Method)
   21:27:18     - parking to wait for  <0x00000000e4d8c9b0> (a 
java.util.concurrent.FutureTask)
   21:27:18     at 
java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
   21:27:18     at 
java.util.concurrent.FutureTask.awaitDone(FutureTask.java:429)
   21:27:18     at java.util.concurrent.FutureTask.get(FutureTask.java:191)
   21:27:18     at 
java.util.concurrent.AbstractExecutorService.invokeAll(AbstractExecutorService.java:244)
   21:27:18     at 
org.apache.beam.runners.fnexecution.logging.GrpcLoggingServiceTest.testMultipleClientsFailingIsHandledGracefullyByServer(GrpcLoggingServiceTest.java:127)
   21:27:18     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   ```
   
   It's definitely **GrpcLoggingServiceTest**, that causes the issue.  Todo:
   
   - Read what GrpcLoggingServiceTest does, in terms of Java threads.
     - What is it waiting for?
     - In the thead dump outputs, is there any thread that should be there?
   - How is GrpcLoggingServiceTest related to gRPC or Netty?
   - Ask gRPC team for help or any similar problem
   
   
   # What GrpcLoggingServiceTest does
   
   It creates 3 tasks and waits for them to finish at 
`GrpcLoggingServiceTest.java:127`. The thread dump shows that 2 of 3 threads 
wait for something to complete at `GrpcLoggingServiceTest.java:122`.
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to