Details
-
Bug
-
Resolution: Done
-
Minor
-
8.0.0.Beta1
-
None
-
None
Description
Create an unbounded queueless executor
<unbounded-queue-thread-pool name="uq-thread-pool">
<max-threads count="350"/>
<keepalive-time time="5" unit="minutes"/>
</unbounded-queue-thread-pool>
Modifying max-threads fails:
/subsystem=threads/unbounded-queue-thread-pool=uq-thread-pool:write-attribute(name=max-threads,value=300)
{
"outcome" => "failed",
"failure-description" => "JBAS014749: Operation handler failed: null",
"rolled-back" => true
}
ERROR [org.jboss.as.controller.management-operation] (management-handler-thread - 1) JBAS014612: Operation ("write-attribute") failed - address: ([
("subsystem" => "threads"),
("unbounded-queue-thread-pool" => "uq-thread-pool")
]): java.lang.IllegalArgumentException
at java.util.concurrent.ThreadPoolExecutor.setMaximumPoolSize(ThreadPoolExecutor.java:1620) [rt.jar:1.7.0]
at org.jboss.threads.JBossThreadPoolExecutor.setMaxThreads(JBossThreadPoolExecutor.java:95) [jboss-threads-2.1.1.Final.jar:2.1.1.Final]
at org.jboss.as.threads.ManagedJBossThreadPoolExecutorService.setMaxThreads(ManagedJBossThreadPoolExecutorService.java:86)
at org.jboss.as.threads.UnboundedQueueThreadPoolService.setMaxThreads(UnboundedQueueThreadPoolService.java:91)
The core pool size needs to be adjusted in line with the max pool size and in the right order to avoid that since max threads can't be less than core threads.