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: dev@tomcat.apache.org
          Reporter: mj...@matthewpainter.com
  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: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to