Skip to content

Apache: oracledb and mod_wsgi don't coop well. #428

@Geogouz

Description

@Geogouz

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 rucio to WSGIApplicationGroup %{GLOBAL}
  • Remove per‑alias fragments process-group=rucio application-group=rucio

Metadata

Metadata

Assignees

Labels

Type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions