Bug 1021077

Summary: Decreasing max-threads on a unbounded queuesless executor generates IllegalArgumentException
Product: [JBoss] JBoss Enterprise Application Platform 6 Reporter: Jay SenSharma <jsenshar>
Component: ServerAssignee: Aaron Ogburn <aogburn>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact: Russell Dickenson <rdickens>
Priority: unspecified    
Version: 6.2.0CC: aogburn, brian.stansberry, lthon, myarboro, sjadhav
Target Milestone: ER7   
Target Release: EAP 6.2.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2013-12-15 16:20:21 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Jay SenSharma 2013-10-19 07:14:38 UTC
Description of problem:


Create an unbounded queueless executor
${quote}
    <unbounded-queue-thread-pool name="uq-thread-pool">
         <max-threads count="350"/>
         <keepalive-time time="5" unit="minutes"/>
    </unbounded-queue-thread-pool>
${quote}

Modifying max-threads fails:
${quote}
/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 }
${quote}

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.


Version-Release number of selected component (if applicable):


How reproducible:


Steps to Reproduce:
1.
2.
3.

Actual results:


Expected results:


Additional info:

Comment 1 JBoss JIRA Server 2013-10-25 18:56:00 UTC
Aaron Ogburn <aogburn> made a comment on jira WFLY-2336

Merged now upstream so this can be closed.

Comment 2 JBoss JIRA Server 2013-10-25 18:56:38 UTC
Aaron Ogburn <aogburn> updated the status of jira WFLY-2336 to Resolved

Comment 3 Aaron Ogburn 2013-10-25 19:31:57 UTC
PR:

https://github.com/jbossas/jboss-eap/pull/636

Comment 6 Brian Stansberry 2013-10-28 21:08:26 UTC
I don't know who the QE contact should, be, but as it was acked, it's now merged.

Comment 7 Ladislav Thon 2013-11-14 14:37:01 UTC
Verified with EAP 6.2.0.CR1.