[
https://issues.jboss.org/browse/WFLY-6540?page=com.atlassian.jira.plugin....
]
James Perkins commented on WFLY-6540:
-------------------------------------
I've sent a PR to fix the bug in jboss-threads
https://github.com/jbossas/jboss-threads/pull/20.
This is fairly common behavior for thread pools. If you were to increase the threads to
20, run some jobs and then decrease back down to 10 you'd see 10 of the threads go
away.
Maybe in some ways it doesn't make sense to allow the keep-alive timeout to be
configured in unbounded queues. Overall I'm not sure what would be expected here. I
suppose it should at least be documented better on the resource.
Batch thread pool keepAlive setting seems to be ignored
-------------------------------------------------------
Key: WFLY-6540
URL:
https://issues.jboss.org/browse/WFLY-6540
Project: WildFly
Issue Type: Bug
Components: Batch
Affects Versions: 10.0.0.Final
Reporter: Martin Kouba
Assignee: James Perkins
Maybe I'm missing something but although the default _keepAlive_ is set to 30
seconds, the threads seem to run indefinitely - see also steps to reproduce.
Snippet from the default config file:
{code}
<thread-pool name="batch">
<max-threads count="10"/>
<keepalive-time time="30" unit="seconds"/>
</thread-pool>
{code}
Anyway, the {{UnboundedQueueThreadPoolService}}, or the underlying
{{JBossThreadPoolExecutor}} respectively, used by the Batch subsystem is using the same
{{corePoolSize}} and {{maximumPoolSize}} and it seems the core threads are not allowed to
time out, i.e.
{{org.jboss.threads.JBossThreadPoolExecutor.setAllowCoreThreadTimeout(boolean)}} is not
used.
Moreover, a {{JBossThreadPoolExecutor.setAllowCoreThreadTimeout(boolean)}} invocation
would probably result in an infinite loop:
{code}
public void setAllowCoreThreadTimeout(final boolean allow) {
setAllowCoreThreadTimeout(allow);
}
{code}
should be replaced with:
{code}
public void setAllowCoreThreadTimeout(final boolean allow) {
allowCoreThreadTimeOut(allow);
}
{code}
Given that {{JBossThreadPoolExecutor}} is used by more subsystems this issue may affect
other subsystems as well.
--
This message was sent by Atlassian JIRA
(v6.4.11#64026)