Problem
If I detect that some scheduled task are not executed on time (example Activate Later), it can be related to the CQ Link Checker Task that takes too long and so start to execute in parallel concurrent threads, until the thread pool allocated for the scheduled task is full.
You can detect this if you do a thread dump, and find multiple thread executing in parallel the CQ Link Checker Task code.
Resolution
- Edit CQ Link Checker Task in the Apache Felix Configuration and save
- a file in crx-quickstart/launchpad/config/com/day/cq/rewriter/linkchecker/impl/LinkCheckerTask.config should be created
- Add the following parameter property: scheduler.concurrent=B"false"
It should looks similiar as follow in the config file:
proxy.ntlm.domain=""
link_unused_interval=I"168"
proxy.host=""
bad_link_test_interval=I"1"
service.pid="com.day.cq.rewriter.linkchecker.impl.LinkCheckerTask"
scheduler.period=L"3600"
good_link_test_interval=I"24"
service.bundleLocation="jcrinstall:///libs/linkchecker/install/cq-rewriter-5.2.16.jar"
proxy.user=""
proxy.password=""
proxy.ntlm.host=""
connection.timeout=""
scheduler.concurrent=B"false"
Alternatively you can set this property via sling:OsgiConfig at /apps/cq/linkchecker/config/com.day.cq.rewriter.linkchecker.impl.LinkCheckerImpl
At next restart the CQ Link Checker Task will no longer run in parallel.
This configuration is now part of CQ 5.5
Applies to
CQ 5.2.0
CQ 5.3
CQ 5.4