Red Hat Bugzilla – Bug 1277699
[GSS](6.4.z) TempFileProviderService threads consume high CPU
Last modified: 2017-01-17 08:02:58 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):
Steps to Reproduce:
1. Use the attached byteman script to force work to the TempFileProviderService threads.
2. Deploy and undeploy an app
A TempFileProviderService thread consumes high CPU while polling the queue
No high CPU usage from TempFileProviderService threads
Created attachment 1089218 [details]
This bug was accidentally moved from POST to MODIFIED via an error in automation, please see firstname.lastname@example.org with any questions
Verified with EAP 6.4.10.CP.CR2
Retroactively bulk-closing issues from released EAP 6.4 cummulative patches.