Exit Codes
LakeXpress returns a structured exit code so that schedulers (cron, Airflow, Control-M, …) can react to the cause of a failure. Codes are grouped by range:
| Range | Meaning |
|---|---|
| 0 | Success |
| 1 | Unexpected error |
| 10–19 | Configuration and setup — fix the configuration |
| 20–29 | Input validation |
| 30–39 | Operational — fix the environment |
| 40–49 | Execution — some or all work failed |
| 50–59 | Interruption |
Codes returned
| Code | Name | Meaning |
|---|---|---|
| 0 | SUCCESS | All operations completed successfully. |
| 1 | GENERAL_ERROR | Generic or unexpected error. |
| 10 | CONFIG_ERROR | Invalid configuration, malformed credentials file, or missing required setting. |
| 11 | AUTH_ERROR | Authentication or authorization failure. |
| 12 | CONNECTION_ERROR | Connection to the source or LakeXpress database failed. |
| 13 | LICENSE_ERROR | License validation failed (invalid, expired or missing), a source with use_adbc: true has no ADBC driver license, or FastBCP rejected its licence during the export (FastBCP exit code 99 or 100). In the last case the run stops at the first job that fails this way and the other jobs are not started. |
| 21 | FILE_NOT_FOUND | A required file was not found. |
| 30 | FASTBCP_NOT_FOUND | FastBCP is not configured (no --fastbcp_dir_path and no bundled engine/ directory) or its executable is missing from the configured directory. |
| 31 | INIT_DB_ERROR | LakeXpress database initialization, truncation or drop failed. |
| 34 | FASTBCP_VERSION_UNSUPPORTED | The FastBCP version is older than the minimum LakeXpress supports (see Installation). |
| 40 | PARTIAL_FAILURE | Some export jobs failed, others succeeded. Resume the run to retry the failed jobs. |
| 41 | ALL_JOBS_FAILED | Every export job of the run failed. |
| 44 | NO_TABLES_FOUND | No table matched the source schemas and patterns. |
| 45 | RUN_NOT_FOUND | --resume found no run to resume (or the given --run_id does not exist), or sync[publish] found no completed export run. |
| 46 | PUBLISH_FAILURE | The export succeeded but publishing had failures (sync), or publishing failed (sync[publish]). |
| 47 | EXPORT_AND_PUBLISH_FAILURE | Some export jobs failed and publishing had failures. |
| 50 | USER_CANCELLED | The user interrupted the operation (Ctrl+C). |
When every export job fails (41), sync does not publish.
Reserved codes
These codes are defined for future use. LakeXpress does not return them yet; schedulers can already treat them by range.
| Code | Name | Meaning |
|---|---|---|
| 20 | VALIDATION_ERROR | Invalid argument or format. |
| 22 | PERMISSION_ERROR | File or directory permission error. |
| 32 | SCHEMA_DISCOVERY_ERROR | Table or schema discovery failed. |
| 33 | STORAGE_CONFIG_ERROR | Storage configuration error (S3, GCS, Azure, …). |
| 42 | TIMEOUT_ERROR | Operation timeout. |
| 43 | JOB_CREATION_FAILED | Export jobs could not be created. |
The FastBCP checks (codes 30 and 34) run before an export (sync, sync[export], run). sync[publish] does not need FastBCP and skips them.