Troubleshooting¶
The ETL Engine is not chatty on stdout. Almost every diagnostic signal arrives through the log files the engine writes during a run.
When something goes wrong¶
The recommended workflow when an ETL run fails:
- Check that the engine started at all. The terminal output of
run-etl-engine.shshows the version banner and any configuration-loading errors. If you see one of those, the run never reached the mapping stage — see Common Errors. - Open
etl-engine.log. This is the engine's own log. Errors atERRORlevel here usually indicate an engine-level problem; errors at lower levels are typically about the Rabbit-in-a-Hat configuration. If the engine stopped silently with no terminal output, this is the place to look. - Open the per-table log for the table that failed. Each
non-vocabulary CDM table has its own log under
logs/, named after the CDM table. The trailing[critical] Errors break ETL of tableline tells you the table failed to load; the actual cause is one or more earlier[error]lines in the same file. - Raise the log level if you need more detail. Set
logging.log leveltoDEBUGorTRACEinetl.confand re-run. See Log Files. - Use
TraceWhenfor surgical debugging of one specific source row that's misbehaving.
Pages¶
- Log Files — what each log contains and how to read them.
- Common Errors — frequently seen messages and how to resolve them.
- Performance Tuning — knobs that affect throughput.
- TraceWhen — per-record verbose logging for targeted debugging.
Getting help¶
Issues that turn out to be engine bugs (rather than mapping issues) should be reported to your Rook IT contact, with:
- The engine version (printed at the start of
etl-engine.log). - A copy of
etl.conf. - The relevant table's log file.
- Where possible, a minimal Rabbit-in-a-Hat reproduction.