Jörg Hoh created SLING-6807:
-------------------------------
Summary: Sling healthcheck changes threadnames of non-HC threads
Key: SLING-6807
URL: https://issues.apache.org/jira/browse/SLING-6807
Project: Sling
Issue Type: Improvement
Components: Health Check
Affects Versions: Health Check Core 1.2.2
Reporter: Jörg Hoh
I recently came across the interesting fact, that operations unrelated to Sling
HC seem to be executed by healthcheck threads (according to the thread names in
the logs).
Today I came across this interesting stacktrace (part of a thread dump), see
the thread name "Healthcheck idle".
{noformat}
"HealthCheck idle" #224 prio=5 os_prio=0 tid=0x00007f1d2c06d800 nid=0x6e48
runnable [0x00007f20a020e000]
java.lang.Thread.State: RUNNABLE
at java.util.ArrayList.<init>(ArrayList.java:177)
at com.google.common.collect.Lists.newArrayList(Lists.java:128)
at
org.apache.jackrabbit.oak.plugins.index.lucene.OakDirectory$OakIndexFile.<init>(OakDirectory.java:259)
[...]
at
org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.updateIndex(AsyncIndexUpdate.java:491)
at
org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.runWhenPermitted(AsyncIndexUpdate.java:433)
at
org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate.run(AsyncIndexUpdate.java:325)
- locked <0x00000000826f0b70> (a
org.apache.jackrabbit.oak.plugins.index.AsyncIndexUpdate)
at
org.apache.sling.commons.scheduler.impl.QuartzJobExecutor.execute(QuartzJobExecutor.java:115)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
{noformat}
And I am quite sure, that the Oak AsyncIndexUpdater is not supposed to use the
Sling HC threadpool.
--
This message was sent by Atlassian JIRA
(v6.3.15#6346)