Thread names on client-side : specific pool ?
See original GitHub issueHi.
I have a service (webservice soap) sending rpc to a GRPC-server (spring-boot-grpc-starter).
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(java.base@11.0.3/Native Method)
- parking to wait for <0x00000000ea55fba0> (a java.util.concurrent.SynchronousQueue$TransferStack)
at java.util.concurrent.locks.LockSupport.parkNanos(java.base@11.0.3/LockSupport.java:234)
at java.util.concurrent.SynchronousQueue$TransferStack.awaitFulfill(java.base@11.0.3/SynchronousQueue.java:462)
at java.util.concurrent.SynchronousQueue$TransferStack.transfer(java.base@11.0.3/SynchronousQueue.java:361)
at java.util.concurrent.SynchronousQueue.poll(java.base@11.0.3/SynchronousQueue.java:937)
at java.util.concurrent.ThreadPoolExecutor.getTask(java.base@11.0.3/ThreadPoolExecutor.java:1053)
at java.util.concurrent.ThreadPoolExecutor.runWorker(java.base@11.0.3/ThreadPoolExecutor.java:1114)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(java.base@11.0.3/ThreadPoolExecutor.java:628)
at java.lang.Thread.run(java.base@11.0.3/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(java.base@11.0.3/Native Method)
at sun.nio.ch.EPollSelectorImpl.doSelect(java.base@11.0.3/EPollSelectorImpl.java:120)
at sun.nio.ch.SelectorImpl.lockAndDoSelect(java.base@11.0.3/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.
Issue Analytics
- State:
- Created 4 years ago
- Comments:7
Top Results From Across the Web
Thread Pools - Ice
For configuration purposes, the names of the client and server thread pools are Ice.ThreadPool.Client and Ice.ThreadPool.Server , respectively.
Read more >Configuring Thread Pools for Java Web Servers - Baeldung
In this tutorial, we take a look at thread pool configuration for Java web application servers such as Apache Tomcat, Glassfish Server, ...
Read more >run threads on server side & show progress on client side ...
I want to run a thread pool on server side & want to show threads work progress on client side. Is this possible....
Read more >Manage concurrent threads - Python Module of the Week
Each Thread instance has a name with a default value that can be changed as the thread is created. Naming threads is useful...
Read more >Bolt thread pool configuration - Operations Manual - Neo4j
The Bolt connector is backed by a thread pool on the server side. The thread pool is constructed as part of the server...
Read more >
Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free
Top Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
https://groups.google.com/forum/m/#!forum/grpc-io
Yes it is what I though that a special thread pool is used at client side … but I don’t know why because I see that calls on stub are made by http thread… btw calls are made synchronously … you proposed me to ask question to grpc-java project community ? Thanks for you answers