mina-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Victor N (JIRA)" <j...@apache.org>
Subject [jira] Created: (DIRMINA-723) OrderedThreadPoolExecutor behavior: configurable queue size, corePoolSize, maximumPoolSize
Date Thu, 02 Jul 2009 16:01:48 GMT
OrderedThreadPoolExecutor behavior: configurable queue size, corePoolSize, maximumPoolSize
------------------------------------------------------------------------------------------

                 Key: DIRMINA-723
                 URL: https://issues.apache.org/jira/browse/DIRMINA-723
             Project: MINA
          Issue Type: Improvement
          Components: Core
    Affects Versions: 2.0.0-M6
         Environment: Ubuntu Linux, kernel 2.6.x
            Reporter: Victor N
            Priority: Minor


The problem was discussed with Emmanuel Lecharny in mail lists:
http://www.nabble.com/OrderedThreadPoolExecutor%3A-limited-workQueue-td24275973.html

If you compare OrderedThreadPoolExecutor and standard ThreadPoolExecutor, you can see that
ThreadPoolExecutor has useful params:
- core pool size
- maximum pool size
- work queue size

If you use unbounded thread pools and queues with mina Acceptor or Connector, you may get
OutOfMemoryError under critical load because Java creates too many threads.
With ThreadPoolExecutor you may limit the number of threads (maximumPoolSize) and use a bounded
queue (ex. LinkedBlockingQueue of limited capacity).
Unfortunately, this does not work with OrderedThreadPoolExecutor -both  "waitingSessions"
and  "sessionTasksQueue" do not allow to configure their size nor pass a different queue implementation.

Even though OrderedThreadPoolExecutor extends ThreadPoolExecutor, it overrides the behavior
significantly - seems that its meaning of "corePoolSize" and "maximumPoolSize" is different.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message