Drupal Solr Indexing Logs & PID Files

Log files, PID management, and cleanup

Files & Logs

All files are namespaced per session. The {key} is the server ID (e.g. my_solr_server), or {server}__{index} when indexing a specific index.

File Purpose
/tmp/opensolr_turbo_{key}.pids JSON list of active worker PIDs
/tmp/opensolr_turbo_{key}_master.pid Background master process PID
/tmp/opensolr_turbo_{key}.log Background mode log file
/tmp/opensolr_turbo_{key}_state.json Session state (server/index being indexed)
/tmp/opensolr_chunks_{key}/ Temporary chunk files for workers

Examples

# Server-level indexing:
drush ost --server=production_solr
# Creates: /tmp/opensolr_turbo_production_solr.log
#          /tmp/opensolr_turbo_production_solr_master.pid
#          /tmp/opensolr_chunks_production_solr/

# Index-level indexing:
drush ost --index=my_content_index
# Creates: /tmp/opensolr_turbo_production_solr__my_content_index.log
#          /tmp/opensolr_turbo_production_solr__my_content_index_master.pid
#          /tmp/opensolr_chunks_production_solr__my_content_index/

Log File

The log file contains detailed progress information:

OPENSOLR TURBO INDEXER v2.5
Started: 2026-02-25 14:30:00

Server:  my_solr_server
Workers: 10 (true parallel)
Batch:   200 items/worker
Round:   2000 items/round

Processing index: my_content_index
   Round 1: fetched 2000 items
   Waiting for 10 workers...
   [##########..........] 32.1% | 156,432 indexed | 156/s | ETA: 10m 23s

View Log in Real-Time

tail -f /tmp/opensolr_turbo_my_solr_server.log

View Last 100 Lines

tail -n 100 /tmp/opensolr_turbo_my_solr_server.log

Search Log for Errors

grep -i error /tmp/opensolr_turbo_my_solr_server.log

PID Files

Master PID

Contains the PID of the background master process:

cat /tmp/opensolr_turbo_my_solr_server_master.pid
# Output: 12345

Worker PIDs

JSON array of currently active worker PIDs:

cat /tmp/opensolr_turbo_my_solr_server.pids
# Output: [12346, 12347, 12348, 12349, 12350, 12351, 12352, 12353, 12354, 12355]

List All Running Sessions

# Find all master PID files
ls /tmp/opensolr_turbo_*_master.pid

# Find all log files
ls /tmp/opensolr_turbo_*.log

Cleaning Up

If you need to manually clean up after a crash:

# Stop any running processes
drush osstop

# If that doesn't work, force kill
pkill -f 'opensolr:worker'
pkill -f 'opensolr:turbo-daemon'

# Remove all stale PID files
rm -f /tmp/opensolr_turbo_*_master.pid /tmp/opensolr_turbo_*.pids

# Optionally clear all logs
rm -f /tmp/opensolr_turbo_*.log

# Clean up chunk directories
rm -rf /tmp/opensolr_chunks_*/

Log Rotation

Each session has its own log file. For long-running jobs:

# Archive a server's log
mv /tmp/opensolr_turbo_my_solr_server.log /tmp/opensolr_turbo_my_solr_server.log.1

# The indexer will create a new log file automatically