Documentation > Errors in Solr > 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/luke is restricted or very slow.

Step-by-step (for OpenSolr users)

  1. Log in to your OpenSolr Dashboard.

  2. Open your Index Settings for the affected core.

  3. In the Configuration Files section, locate and edit your solrconfig.xml.
    (You can use the built-in file editor; no shell access needed.)

  4. Replace the existing /admin/luke request handler block with the snippet above.
    (Remove or comment out any previous <requestHandler name="/admin/luke" ...> section.)

  5. Save your changes.
    OpenSolr will automatically detect and reload your index configuration gracefully — no manual restart required.

  6. 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.

  7. (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/luke instead:
    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.






Review us on Google Business
ISO-9001 CERTIFIED ISO-27001 CERTIFIED