[
https://issues.jboss.org/browse/WFLY-3225?page=com.atlassian.jira.plugin....
]
David Lloyd commented on WFLY-3225:
-----------------------------------
Ideal solution would be to use a concurrency-limiting executor facade, which would limit
parallelism of certain tasks while still allowing for a shared thread pool. This will
help keep down idle thread count.
Rationalization of management thread pools
------------------------------------------
Key: WFLY-3225
URL:
https://issues.jboss.org/browse/WFLY-3225
Project: WildFly
Issue Type: Enhancement
Security Level: Public(Everyone can see)
Components: Domain Management
Reporter: Brian Stansberry
Assignee: Brian Stansberry
Fix For: 9.0.0.CR1
There are a number thread pools being created related to management request handling that
are redundant and could be replaced by the ServerService-created or
HostControllerService-created pool:
RemoteDomainConnectionService - Executors.newCachedThreadPool
HostControllerConnectionService - Executors.newCachedThreadPool
DomainModelControllerService - Executors.newCachedThreadPool
MasterDomainControllerOperationHandlerService.slaveRequestExecutor (1 core thread,
unlimited max threads, no queue -- essentially same as Executors.newCachedThreadPool)
I believe these specialized pools were created because
AbstractModelControllerOperationHandlerFactoryService uses a 4 thread pool with a large
queue. That's appropriate for throttling threads used for end user requests, but is
inappropriate for internal tasks where such throttling risks thread starvation and
deadlock. So, this fix will shift the end user request handling to a specialized limited
pool and then all the other tasks can use the general pool.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira