Monitoring replication in Lakehouse Turbo
Learn how to monitor and troubleshoot replication in Lakehouse Turbo.
Tables for monitoring
Replication is logged in the PROGRESS_LOG, REPLICATION_LOG, and REPLICATION_TABLE_STATUS tables in the EXA_DLHC schema. You can query these tables to monitor and troubleshoot the replication process.
The other tables in the EXA_DLHC schema are only for internal use. Do not query or alter these tables, as this may produce unexpected results and impact functionality.
REPLICATION_LOG
This table will contain two rows for each replication attempt: one for the start and one for the end, correlated by the run cycle id. A replication is only attempted when the version available in the Exasol database is lower than the version in the source system.
The table can be truncated if needed. The size of the table can be estimated based on the number of updates happening on the source tables.
| Column | Description |
|---|---|
RUN_CYCLE_ID
|
Internal ID of the replication run |
STATUS
|
Replication status (
|
EVENT_TS
|
Timestamp of the replication event |
SOURCE_CATALOG
|
The name of the catalog in the data source |
SOURCE_SCHEMA
|
The name of the schema in the catalog |
SOURCE_TABLE
|
The name of the source table |
TARGET_SCHEMA
|
The name of the target schema in the Exasol database |
TARGET_VIEW
|
The name of the target view in the Exasol database (when replicating views) |
TABLE_DELTA_VERSION
|
The source table’s version as of this replication run The same value is written to
Only meaningful for |
REPLICATION_MODE
|
The replication mode (INCREMENTAL or FULL_LOAD) |
INSERTED_ROWS
|
The number of inserted rows |
DELETED_ROWS
|
The number of deleted rows |
INSERTED_FILES
|
The number of inserted files |
DELETED_FILES
|
The number of deleted files |
ERROR_MESSAGE
|
Error messages generated by the replication run (truncated to 2000 characters) |
INFO_MESSAGE
|
List of source columns that were skipped during the replication run(for example, due to unsupported data type) If no columns were skipped, the column value is |
SOURCE_SYSTEM
|
Name of the source system that the log entry belongs to |
REPLICATION_TABLE_STATUS
This table tracks the last version/timestamp and filter for tables that have been replicated. This can be useful to get an overview of all tables that are available and at which version.
The table only contains one row per replicated table, indicating the last successful replication. For example, if TableA replicates sucessfully for version 1, it will contain a record for that. If the source table is updated at version 2, and the replication fails, the row for Table A, version 1 will still be there indicating that this is the available version in the Exasol database. The record is only updated if replication succeeds.
REPLICATION_TABLE_STATUS is an internal table and should not be altered.
| Column | Description |
|---|---|
TARGET_SCHEMA
|
The target schema in the Exasol database |
TABLE_NAME
|
The target table in the Exasol database |
VERSION
|
A watermark used to detect whether the source table has changed since the last replication. The format depends on the source table format:
|
FILTER
|
The row/partition filter that was applied and is currently reflected in the target table’s data. If the value is different from the currently configured filter in the source system, a full re-replication is triggered even if the |
PROGRESS_LOG
This table contains detailed information about all operations on the replication tables. For example, it will contain the information when Lakehouse Turbo checks if the version of the source is newer that the version tracked in Exasol for a table.
PROGRESS_LOG is insert-only with no built-in retention/cleanup. We recommend that you truncate this table periodically as it can grow very large over time.
| Column | Description |
|---|---|
EVENT_TS
|
Timestamp of the replication event |
TARGET_SCHEMA
|
The name of the target schema in the Exasol database |
TABLE_NAME
|
The name of the target table in the Exasol database |
LOG_LEVEL
|
Log message level ( Failures show up as a |
MESSAGE
|
The log message |
SOURCE_SYSTEM
|
Name of the source system this progress entry belongs to |
Examples
SELECT * FROM EXA_DLHC.PROGRESS_LOG
| EVENT_TS | TARGET_SCHEMA | TABLE_NAME | LOG_LEVEL | MESSAGE |
|---|---|---|---|---|
| 2026-06-15 11:57:59 | retail_2020 | sales | INFO | Starting replication |
| 2026-06-15 11:58:00 | retail_2020 | dim_date | INFO | Target table is up-to-date with source version 1, filter [null]: No replication required. |
Message examples:
|
PROGRESS_LOG.MESSAGE |
|
| Target table is up-to-date ... No replication required. |
This is the expected/normal steady-state message, not a warning |
| Source table version %d is newer than version %d of target table. Starting replication. |
Version has been bumped on the source, normal incremental trigger. |
| Source filter [%s] and target filter [%s] are different. Starting replication. |
Someone changed the table's filter config. Expect a full re-replication of that table even though the source version may not have moved. |
|
PROGRESS_LOG.MESSAGE / REPLICATION_LOG.ERROR_MESSAGE |
|
| Table 'X': target version (N) is greater than source version (M) |
This usually means the source table was dropped and re-created in the source system (its version counter reset). Fix: Drop the Exasol target table and its metadata, then let replication re-run from scratch. |
|
REPLICATION_LOG.STATUS |
|
| ABORTED |
This is not necessarily a problem, it means the run was cancelled because its replication config changed mid-flight or the service restarted. Check the next run for the table before treating an aborted run as a failure. |
| ERROR |
See ERROR_MESSAGE in the table row for a summary of the error. For more detail, cross-reference PROGRESS_LOG for the same TARGET_SCHEMA/TABLE_NAME around the same EVENT_TS (look for WARN/DEBUG entries). |