[
https://jira.jboss.org/jira/browse/JBCACHE-1443?page=com.atlassian.jira.p...
]
Brian Stansberry updated JBCACHE-1443:
--------------------------------------
Description: The async handling in CommandAwareRpcDispatcher, AsyncCacheLoader and
NotifierImpl all use Executors.newFixedThreadPool() to set up their ExecutorService. Per
the method javadoc for that method it "Creates a thread pool that reuses a fixed set
of threads operating off a shared unbounded queue". Use of an unbounded queue is
inherently unsafe, and particularly in these use cases where there could be a very large
number of threads adding tasks to the queue, while the default config only creates a
single thread to take tasks off the queue. (was: The async handling in
CommandAwareRpcDispatcher, AsyncCacheLoader and NotifierImpl all use
Executors.newFixedThreadPool() so set up their ExecutorService. Per the method javadoc
for that method "Creates a thread pool that reuses a fixed set of threads operating
off a shared unbounded queue". Use of an unbounded queue is inherently unsafe, and
particularly in these use cases where there could be a very large number of threads adding
tasks to the queue, while the default config only creates a single thread to take tasks
off the queue.)
Async marshalling, async cache loading and async notification
handling use unbounded queues
--------------------------------------------------------------------------------------------
Key: JBCACHE-1443
URL:
https://jira.jboss.org/jira/browse/JBCACHE-1443
Project: JBoss Cache
Issue Type: Bug
Security Level: Public(Everyone can see)
Affects Versions: 3.0.0.CR3
Reporter: Brian Stansberry
Assignee: Manik Surtani
Priority: Critical
Fix For: 3.0.0.GA
The async handling in CommandAwareRpcDispatcher, AsyncCacheLoader and NotifierImpl all
use Executors.newFixedThreadPool() to set up their ExecutorService. Per the method
javadoc for that method it "Creates a thread pool that reuses a fixed set of threads
operating off a shared unbounded queue". Use of an unbounded queue is inherently
unsafe, and particularly in these use cases where there could be a very large number of
threads adding tasks to the queue, while the default config only creates a single thread
to take tasks off the queue.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira