The Problem
Your Drupal site shows this warning:
Solr was unable to retrieve additional data about the server.
And in your logs you see cURL error 28 — a timeout while Drupal tries to reach /admin/luke on your Solr server.
What Is Actually Happening
Drupal's search_api_solr module periodically calls Solr's /admin/luke endpoint to discover what fields exist in the index, check capabilities, and verify the server is healthy. The Luke handler is like asking Solr to give you a complete X-ray of the entire index — every field, every term count, everything.
On large indexes, this response can be megabytes of data and take several seconds to generate. If it takes longer than Drupal's PHP timeout, the request fails.
The Fix
Replace Solr's heavy Luke handler with a lightweight Ping handler at the same URL. Drupal only needs a "yes, I am alive" response — it does not actually need the full Luke data dump.
Add this to your solrconfig.xml:
<requestHandler name="/admin/luke" class="solr.PingRequestHandler"> <lst name="defaults"> <str name="q">*:*</str> </lst> </requestHandler>
Step-by-Step for Opensolr Users
- Log in to your Opensolr Dashboard
- Open your Index Settings for the affected Opensolr Index
- Go to Config Files Editor and edit
solrconfig.xml - Find any existing
/admin/lukerequest handler block and replace it with the snippet above - Save your changes — Opensolr reloads the config automatically
Verify It Works
curl -sS -u user:pass -w '%{http_code}\n' \ "https://your-cluster.opensolr.com/solr/your_core/admin/luke?wt=json"
You should get an instant 200 response with a small JSON payload.
Alternative: Skip Schema Check in Drupal
If you cannot modify Solr configs, you can tell Drupal to stop calling Luke entirely:
// settings.php $settings['search_api_solr']['skip_schema_check'] = TRUE; $settings['search_api_solr']['timeout'] = 3; $settings['search_api_solr']['connect_timeout'] = 1;
This disables schema introspection. Search and indexing continue to work normally.
Trade-offs
| Approach | Pros | Cons |
|---|---|---|
| Replace Luke with Ping (recommended) | Instant response, Drupal is happy | Luke introspection disabled at that URL |
| Skip schema check in Drupal | No Solr config changes needed | Drupal cannot detect schema mismatches |
| Increase PHP timeout | No changes to Solr or Drupal | Still slow, just delays the problem |
Quick Checklist
- Replace
/admin/lukehandler withPingRequestHandlerinsolrconfig.xml - Save and let Opensolr reload the config
- Verify with a quick cURL call that
/admin/lukeresponds instantly - Optionally clear Drupal caches with
drush cr - If you cannot edit Solr configs, use
skip_schema_checkin Drupal settings.php
Need help fixing Drupal timeouts? Reach out to us at support@opensolr.com — we can adjust your Solr config directly.