grpc-default-executor is grpc's default channel executor, it's used for running connection management tasks. grpc-default-worker-ELG is a netty server's eventloop that grpc chooses as default. Epoll.wait could be hearbeat, if it happens two hours after connection established.
On Thursday, July 4, 2019 at 1:29:19 PM UTC-7, [email protected] wrote: > > Hi. > > I have a service (webservice soap) sending rpc to a grpc server). > > When I look at the thread dump I see thread names like this : > "grpc-default-worker-ELG-13-7" > > or "grpc-default-executor-1"... > > What are these threads ?? > > example of stack : > > ``` > "grpc-default-executor-1" #972 daemon prio=5 os_prio=0 cpu=3938.33ms > elapsed=306.27s tid=0x00007f410804a800 nid=0x431 waiting on condition > [0x00007f4049fde000] > java.lang.Thread.State: TIMED_WAITING (parking) > at jdk.internal.misc.Unsafe.park([email protected]/Native Method) > - parking to wait for <0x00000000ea55fba0> (a > java.util.concurrent.SynchronousQueue$TransferStack) > at > java.util.concurrent.locks.LockSupport.parkNanos([email protected]/LockSupport.java:234) > at > java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill([email protected]/SynchronousQueue.java:462) > at > java.util.concurrent.SynchronousQueue$TransferStack.transfer([email protected]/SynchronousQueue.java:361) > at > java.util.concurrent.SynchronousQueue.poll([email protected]/SynchronousQueue.java:937) > at > java.util.concurrent.ThreadPoolExecutor.getTask([email protected]/ThreadPoolExecutor.java:1053) > at > java.util.concurrent.ThreadPoolExecutor.runWorker([email protected]/ThreadPoolExecutor.java:1114) > at > java.util.concurrent.ThreadPoolExecutor$Worker.run([email protected]/ThreadPoolExecutor.java:628) > at java.lang.Thread.run([email protected]/Thread.java:834) > ``` > > or > > ``` > "grpc-default-worker-ELG-13-1" #940 daemon prio=5 os_prio=0 cpu=3135.01ms > elapsed=345.67s tid=0x00007f40c0039800 nid=0x411 runnable > [0x00007f4046cad000] > java.lang.Thread.State: RUNNABLE > at sun.nio.ch.EPoll.wait([email protected]/Native Method) > at > sun.nio.ch.EPollSelectorImpl.doSelect([email protected]/EPollSelectorImpl.java:120) > at > sun.nio.ch.SelectorImpl.lockAndDoSelect([email protected]/SelectorImpl.java:124) > - locked <0x00000000ea568db0> (a > io.netty.channel.nio.SelectedSelectionKeySet) > ``` > > Epoll.wait ??? poll the grpcserver ? heartbeat ? > > > calls to the service itself are done by http thread like > "http-nio-8080-exec-206"..On the other hand this one sounds logic because > calls to the service are done synchronously. Thanks ! > > -- You received this message because you are subscribed to the Google Groups "grpc.io" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/grpc-io/65dbe9ab-add3-4907-ba2c-71cc396b7734%40googlegroups.com.
