https://bz.apache.org/bugzilla/show_bug.cgi?id=66581
Bug ID: 66581
Summary: Idle threads are never destroyed in
org.apache.tomcat.websocket.AsyncChannelGroupUtil
Product: Tomcat 11
Version: unspecified
Hardware: PC
OS: Mac OS X 10.1
Status: NEW
Severity: normal
Priority: P2
Component: WebSocket
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: -------
Currently the ExecutorService used for this is as such:
ExecutorService executorService = new ThreadPoolExecutor(0, Integer.MAX_VALUE,
Long.MAX_VALUE, TimeUnit.MILLISECONDS, new SynchronousQueue<>(), new
AsyncIOThreadFactory());
This means that the threads never terminate and are spawned whenever a thread
is not available, which for a server under a spike of load spawns many threads
which never exit, consuming system resources indefinitely.
I would suggest that a saner idle timeout than Long.MAX_VALUE should be used,
such as 60 seconds, unless there is a good reason I am unaware of as to why
such threads should never die.
--
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]