(when /admin/luke is slow/blocked and keeps timing out on OpenSolr)
Replace Solr’s heavy Luke handler with a lightweight ping so Drupal stops stalling:
<!-- solrconfig.xml --> <requestHandler name="/admin/luke" class="solr.PingRequestHandler"> <lst name="defaults"> <str name="q">*:*</str> </lst> </requestHandler>
Why: Drupal’s search_api_solr probes /admin/luke for capabilities. On large cores or restricted setups, that call can take seconds and return megabytes, causing PHP-FPM timeouts. Mapping /admin/luke → Ping returns a fast, tiny 200 OK.
/admin/luke, and/admin/luke is restricted or very slow.Log in to your OpenSolr Dashboard.
Open your Index Settings for the affected core.
In the Configuration Files section, locate and edit your solrconfig.xml.
(You can use the built-in file editor; no shell access needed.)
Replace the existing /admin/luke request handler block with the snippet above.
(Remove or comment out any previous <requestHandler name="/admin/luke" ...> section.)
Save your changes.
OpenSolr will automatically detect and reload your index configuration gracefully — no manual restart required.
Verify that /admin/luke responds instantly:
curl -sS -u <user>:<pass> -w '%{http_code}\n' "https://<yourcluster>.opensolr.com/solr/<CORE>/admin/luke?wt=json"
You should get a quick 200 response with a small JSON payload.
(Optional) Clear Drupal caches after the fix:
drush cr
/admin/luke. Admin tools that rely on the full Luke dump will no longer work on that path.// settings.php $settings['search_api_solr']['skip_schema_check'] = TRUE; $settings['search_api_solr']['timeout'] = 3; $settings['search_api_solr']['connect_timeout'] = 1;
/admin/luke instead:RewriteRule ^/solr/(.*)/admin/luke.*$ - [R=200,L]
Drupal only needs a quick “OK” response during capability probing. Replacing the heavy Luke dump with a fast ping avoids the long stalls that block PHP-FPM and Apache — and OpenSolr’s reload process applies this instantly and gracefully.