Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Remoting thread not identified as an in process thread #3

Closed
mgm3746 opened this issue Feb 2, 2022 · 1 comment
Closed

Remoting thread not identified as an in process thread #3

mgm3746 opened this issue Feb 2, 2022 · 1 comment

Comments

@mgm3746
Copy link

mgm3746 commented Feb 2, 2022

Shouldn't this remoting thread be identified as an in-process thread?

"default task-38" #440 prio=5 os_prio=0 tid=0x0000558f0f9e8800 nid=0x865e runnable [0x00007f3f11b1f000]
java.lang.Thread.State: RUNNABLE
at org.jboss.remoting3._private.IntIndexHashMap.doGet(IntIndexHashMap.java:521)
at org.jboss.remoting3._private.IntIndexHashMap.containsKey(IntIndexHashMap.java:178)
at org.jboss.remoting3.util.InvocationTracker.addInvocation(InvocationTracker.java:122)
at org.jboss.ejb.protocol.remote.EJBClientChannel.processInvocation(EJBClientChannel.java:307)
at org.jboss.ejb.protocol.remote.RemoteEJBReceiver$1.lambda$handleDone$0(RemoteEJBReceiver.java:91)
at org.jboss.ejb.protocol.remote.RemoteEJBReceiver$1$$Lambda$1190/929558111.notify(Unknown Source)
at org.xnio.FinishedIoFuture.addNotifier(FinishedIoFuture.java:79)
at org.jboss.ejb.protocol.remote.RemoteEJBReceiver$1.handleDone(RemoteEJBReceiver.java:76)
at org.jboss.ejb.protocol.remote.RemoteEJBReceiver$1.handleDone(RemoteEJBReceiver.java:74)
at org.xnio.IoFuture$HandlingNotifier.notify(IoFuture.java:208)
at org.xnio.AbstractIoFuture$NotifierRunnable.run(AbstractIoFuture.java:720)
at org.jboss.remoting3.EndpointImpl$TrackingExecutor.lambda$execute$0(EndpointImpl.java:926)
at org.jboss.remoting3.EndpointImpl$TrackingExecutor$$Lambda$119/570714649.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Locked ownable synchronizers:
- <0x00000006979527e8> (a java.util.concurrent.ThreadPoolExecutor$Worker)

@aogburn
Copy link
Owner

aogburn commented Feb 3, 2022

For EAP 7, yatda focuses on grepping out and counting the task threads processing a request specifically through undertow. That does cover the bulk of what we will typically see the threads doing. The task threads can be shared and used for other things besides requests like some https handshake tasks, remoting tasks, etc. Those are generally seen far less often and less often a concern. But they're also more varied and so harder to lump together in a single type of use state.

So for now, yatda reports the thread count processing requests specifically, but from its aggregate top task/request thread lines, we can still quickly see threads in use even if for something else like remoting:

Number of thread dumps: 2
Total number of threads: 652
Total number of request threads: 256
Total number of in process requests: 132
Percent of present request threads in use for requests: 51.56
Average number of in process requests per thread dump: 66
Average number of request threads per thread dump: 128
Average number of threads per thread dump: 326

Specific findings

1 : The number of present request threads is a multple of 16 so this may be a default thread pool size fitting 8 CPU cores.

Top lines of request threads

130 	at java.lang.Object.wait(Native Method)
124 	at org.jboss.remoting3._private.IntIndexHashMap.doGet(IntIndexHashMap.java:521)
  2 	at com.zurichna.claim.util.JNDIUtils.lookUp(JNDIUtils.java:105)

@aogburn aogburn closed this as completed Feb 3, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants