Miroslav Novak created WFCORE-4609:
--------------------------------------
Summary: Core threads in EnhancedQueueExecutor might timeout below core pool
size even if allowCoreTimeOut is false
Key: WFCORE-4609
URL:
https://issues.jboss.org/browse/WFCORE-4609
Project: WildFly Core
Issue Type: Bug
Components: IO
Affects Versions: 10.0.0.Beta2
Reporter: Miroslav Novak
Assignee: Flavia Rainone
I can see unexpected behavior in EnhancedQueueExecutor [1]. Even when I set
allowsCoreThreadTimeOut to false, sometimes happens that pool size goes below core size by
a few threads.
Test scenario:
- create EnhancedQueueExecutor with coreSize=3, maxSize=6, allowsCoreThreadTimeOut=false,
keepAliveTimeout=1000ms
- submit 6 threads into executor and wait until all are running so maxSize is reached
- allow all threads to finish and wait some time for threads to timeout
Expected result is that poolSize will be 3 as coreSize=3 but sometimes happens that
poolSize is 2 or 1.
This might not be a bug as EnhancedQueueExecutor estimates its pool size and might allow
to timeout more threads than coreSize. I'm creating this jira so it's explained
for future reference.
[1]
https://github.com/jbossas/jboss-threads/blob/2.3.3.Final/src/main/java/o...
[2]
https://issues.jboss.org/browse/EAP7-488
--
This message was sent by Atlassian Jira
(v7.12.1#712002)