Drupal - Can not get additional data from Solr timeout after...
Fixing Drupal’s “Solr was unable to retrieve additional data about the server”
(when /admin/luke is slow/blocked and keeps timing out on OpenSolr)
TL;DR (the fix)
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.
When to use this
- Drupal shows messages like “Solr was unable to retrieve additional information about the server” and/or
- Logs include cURL error 28 (timeout after ~15s) while hitting
/admin/luke, and - Your Solr index is hosted on OpenSolr and
/admin/lukeis restricted or very slow.
Step-by-step (for OpenSolr users)
-
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/lukerequest 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/lukeresponds 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
200response with a small JSON payload. -
(Optional) Clear Drupal caches after the fix:
drush cr
Notes & trade-offs
- This disables Luke introspection at
/admin/luke. Admin tools that rely on the full Luke dump will no longer work on that path.
(Search and indexing remain fully functional.) - Alternatively, you can configure Drupal to skip schema checks entirely:
// settings.php $settings['search_api_solr']['skip_schema_check'] = TRUE; $settings['search_api_solr']['timeout'] = 3; $settings['search_api_solr']['connect_timeout'] = 1;
- If you can’t edit Solr configs, a front proxy rule can stub
/admin/lukeinstead:RewriteRule ^/solr/(.*)/admin/luke.*$ - [R=200,L]
Why this works (one-liner)
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.





