I am using WildFly 26.1.3 with worker task-max-threads set to X. There is an endpoint which does an EJB remote lookup. Whenever the number of concurrent requests is equal or more than X, all worker threads forever end up in WAITING.
If I send fewer requests, I can see that every request takes one worker thread but there is another worker thread which handles EJB remote lookup authentication-related operations. Once the number of concurrent requests takes all available worker thread, there is no authentication operation (visible in the trace logs), all worker threads remain in WAITING and the server is de facto frozen.
I understand that there is thread exhaustion at play here but is it normal that the threads remain in WAITING forever?