-
Couldn't load subscription status.
- Fork 62
Description
Problem:
When running Rucio with Oracle in the dev environment (no Oracle's Instant Client available), a simple REST endpoint /ping consistently returns 504 Gateway Timeout. Apache logs show:
[wsgi:error] ... Timeout when reading response headers from daemon process 'rucio': /opt/rucio/lib/rucio/web/rest/main.py
The problem is not the DB network because oracledb connects succeed with DSN (SERVICE_NAME=XE) from within the same container..
Root cause:
Our Apache/mod_wsgi config (dev/rucio.conf or even server/rucio.conf.j2) runs the app in a sub‑interpreter (application-group=rucio). With the Oracle driver chain (oracledb + transitive C/FFI deps), initialization under a sub‑interpreter looks to be problematic.
Apparently, PostgreSQL (via psycopg) works because its driver path doesn’t trigger the same sub‑interpreter sensitivity.
Working solution:
Switching the app to the main (global) interpreter inside the daemon process resolves the hang. Hence:
- Switch from
WSGIApplicationGroup ruciotoWSGIApplicationGroup %{GLOBAL} - Remove per‑alias fragments
process-group=rucio application-group=rucio