Bug 1277699 - [GSS](6.4.z) TempFileProviderService threads consume high CPU
[GSS](6.4.z) TempFileProviderService threads consume high CPU
Product: JBoss Enterprise Application Platform 6
Classification: JBoss
Component: Server (Show other bugs)
Unspecified Unspecified
unspecified Severity unspecified
: CR1
: EAP 6.4.10
Assigned To: Aaron Ogburn
Jiri Truhlar
Depends On:
Blocks: eap6410-payload
  Show dependency treegraph
Reported: 2015-11-03 16:01 EST by Aaron Ogburn
Modified: 2017-01-17 08:02 EST (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2017-01-17 08:02:11 EST
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)
WFCORE-1093.btm (221 bytes, text/plain)
2015-11-03 16:06 EST, Aaron Ogburn
no flags Details

External Trackers
Tracker ID Priority Status Summary Last Updated
JBoss Issue Tracker WFCORE-1093 Major Resolved TempFileProviderService threads consume high CPU 2017-10-10 07:17 EDT
Red Hat Knowledge Base (Solution) 2039903 None None None 2016-04-11 12:31 EDT

  None (edit)
Description Aaron Ogburn 2015-11-03 16:01:25 EST
Description of problem:

TempFileProviderService threads consume high CPU.  TempFileProviderService threads consume high CPU as they poll their non empty task queue. This is ultimately due to a flaw in the JDK ThreadPoolExecutor code (https://bugs.openjdk.java.net/browse/JDK-8129861), impacting ScheduledThreadPoolExecutors that use a core size of 0 and a default 0 keepalive timeout.

While the executor queue is not empty, the executor does not allow the pool to go below 1 thread. So the one remaining work thread keeps looping over its poll call with a 0 timeout.

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

How reproducible:

Steps to Reproduce:
1. Use the attached byteman script to force work to the TempFileProviderService threads.
2. Deploy and undeploy an app

Actual results:

A TempFileProviderService thread consumes high CPU while polling the queue

Expected results:

No high CPU usage from TempFileProviderService threads

Additional info:
Comment 1 Aaron Ogburn 2015-11-03 16:06 EST
Created attachment 1089218 [details]
Comment 2 Aaron Ogburn 2015-11-03 16:15:07 EST
PR: https://github.com/jbossas/jboss-eap/pull/2614
Comment 4 Mike McCune 2016-03-28 18:15:42 EDT
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see mmccune@redhat.com with any questions
Comment 6 Jiří Bílek 2016-08-31 03:29:57 EDT
Verified with EAP 6.4.10.CP.CR2
Comment 7 Petr Penicka 2017-01-17 08:02:11 EST
Retroactively bulk-closing issues from released EAP 6.4 cummulative patches.
Comment 8 Petr Penicka 2017-01-17 08:02:58 EST
Retroactively bulk-closing issues from released EAP 6.4 cummulative patches.

Note You need to log in before you can comment on or make changes to this bug.