[jboss-jira] [JBoss JIRA] (WFCORE-4609) Core threads in EnhancedQueueExecutor might timeout below core pool size even if allowCoreTimeOut is false

Miroslav Novak (Jira) issues at jboss.org
Thu Aug 15 07:19:00 EDT 2019


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/org/jboss/threads/EnhancedQueueExecutor.java
[2] https://issues.jboss.org/browse/EAP7-488



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the jboss-jira mailing list