Loading the documentation…

Run logs and step messages

While a run works, it writes a message for each thing it does, such as moving rows or clearing a day, and a reason when a step is skipped. This page explains the messages you meet and where to read them. For the steps a run is made of, see Nodes in a run.

Where a run's messages appear

Note

Each kind of step writes its own messages. A load of one table shows that table's messages, while a Warehouse run shows the messages of the transformations it ran. The tables below cover the messages you meet most often.

Messages of a Lake load

MessageWhat it means
Column List GeneratedThe columns this load will fill were resolved.
Temp Table CreatedA temporary copy of the table was created for this run. Rows land there first.
Data Inserted In Temp TableThe rows read from the source landed in the temporary copy.
Data Successfully transferred from TMP table to the Main oneThe temporary copy was moved into the table. A looped load adds how many iterations it took.
Data Successfully transferred to the Main TableThe same outcome on a snapshot load.
Explicit Day <date>A reload of chosen days loaded that day.
Day ReplacedA reload of chosen days replaced that day's data in the table.
Day ClearedThe chosen day produced no rows, so its data was cleared.
Rows Outside Requested DaysThe extract returned rows for other days. They are discarded, and the step lists them.
Undated Files SkippedFiles whose names carry no date are not loaded. The step lists a sample.
Loop Chunk <n>One step per piece of a looped load.
Full Reload From DateThe date a first run starts from, next to the date the run loaded for.
Sync Days For First RunHow many days the first run covered. It can say the span was clamped to the earliest source date, or that the source has no dated rows.
Snapshot DDL Generated and Snapshot DDL ExecutedThe snapshot column of a Snapshot table was prepared for this run.
Tokenization Script Generated and Tokenization Script ExecutedValues in protected columns were tokenized while loading.
Processed RowsThe count this load measured.

Some steps keep the exact statement the run sent, so an entry can look like SQL; that text is what the platform executed for that table or day.

Messages of a publish

A Fact run and a Lake load collect their rows on the side and publish them when they end; see How Dimension and Fact runs write data and Reloads and partitions. These steps record the publish:

MessageWhat it means
Staging CreatedA production Fact run created the temporary table it collects its rows in.
Staging FencedA Lake load set its extract aside as this run's own copy, ready to publish.
Publish Gates PassedThe checks before the publish passed. The text counts the days and rows to publish and the days to clear.
Partitions ReplacedEach day the run loaded replaced the same day in the table, as a whole.
Partitions AppendedThe run added its days: a Diff Insert (Periodic) run, or a first load into an empty Lake table.
Partitions ClearedDays of the window that the source no longer has were cleared, at the end of the publish.
Table ExchangedA Truncate Insert (Full) run swapped the whole Fact table for the new copy.
Table ReplacedA Lake Full Reload replaced the whole table at once. With The extract and the table are both empty; nothing to publish. there was nothing to replace.
Partition ReplacedA snapshot load replaced the partition of its snapshot.
Upsert Staging BuiltAn upsert run merged the stored rows and the extract into one new copy, which then replaced the table at once.
Duplicate Keys CollapsedA warning: the extract repeated keys, and the last loaded row of each key was kept.
Empty ExtractAn upsert run's extract was empty, so the table was left unchanged.
Insert Timestamp MaterializedOlder data of an upsert table was completed with its insert timestamp before the run merged.
Safety Guards SkippedThe run was started without its data safety guards. The text says what would have failed.
Publish VerifiedThe table was checked after the publish and holds what the run published.
Publish Re-issuedThe database did not confirm a publish statement, so it was sent again; the text gives the attempt, up to 3.
Staging DroppedThe run's temporary tables were removed after the publish.
Staging Drop FailedA warning: the temporary tables could not be removed, and the text says the run itself succeeded. They are removed automatically later.

A failed publish leaves the table as it was. The message of a refused publish, and what to do, is on Warehouse troubleshooting and Lake troubleshooting.

Messages of a Warehouse transformation

The steps follow the run: the transformation generates its statements, works in staging copies, then writes the table. A production Fact run then publishes with the steps in Messages of a publish.

MessageWhat it means
ETL Statements GeneratedThe SQL for the transformation was generated.
Drop Script ExecutedThe staging copies were cleared and recreated. A production Fact run writes Staging Created instead.
Source Insert Script ExecutedThe transformation's query result landed in the staging copy.
Duplicate Check Script ExecutedThe staging copy was checked for duplicate keys before anything reaches the table.
Target Insert Script Executed and Rest Script ExecutedThe final write steps for the table.
Loop Chunk ExecutedOne step per piece of a looped transformation, numbered like 2/5, with the posting date and the days it covered.
Full Reload From Date and Sync Days For First RunThe window a first run used.
Earliest Source Date Not FoundThe search for the earliest date in the source did not answer, so the run fell back to the set start date.
Full Reload From Date Not ReachedThe start date is after the date the run loaded for, so there was nothing to load yet.
Processed RowsThe rows the run produced. A Dimension run counts them on its target output; a production Fact run counts the rows it staged for publishing, and its test runs count the target output.
Emptied Staging TablesA Dimension run emptied its staging copies after the run.
Empty Staging Tables FailedThe cleanup failed. This is a warning, and its text says the run itself succeeded.
Tokenization Script Generated and Tokenization Script ExecutedValues in protected columns were tokenized.
Eligibility Warning IgnoredA run started by hand went ahead past a warning-level check.
TransformationRefusedThe run stopped before sending any statement, because the query contains something the platform refuses. The text says why.
ErrorThe run failed. The text is the failure reason; a database error keeps its code.

For what a Warehouse run writes, see How Dimension and Fact runs write data.

Messages of a Writeback and a History run

A Writeback run pushes rows to your destination:

A History node writes versions of changed records:

A connector source adds a Meltano Pipeline Finished step before the steps of its tables: the source is pulled once per run, and the step carries no row count. For the node behind it, see Nodes in a run.

Row counts a run reports

First runs and full reloads

Notes you may meet on a step

A step's Note can read as:

Each of these is explained, with what to do next, in Nodes in a run and Monitor and fix a run.

Questions, answered

Why does one step repeat with "Loop Chunk" in its name?

A looped load or transformation covers a long window in pieces. Each piece writes one line: Loop Chunk <n> on a Lake load and Loop Chunk Executed on a transformation. The node stays one step; read the lines to see how far the run got.

Why is the row count missing for a run?

The count could not be measured. The Sync Log leaves Processed Rows blank, and a step can read unknown instead of a number, because the platform records nothing rather than a guess. A skipped run shows nothing: it processed nothing. See Row counts a run reports.

Why did my first run load so many days?

A first run that fills history goes back to the Full Reload Start Date or, without one, to the earliest date in the source. Full Reload From Date and Sync Days For First Run in the messages show the window it used. For how a Lake table sizes its first load, see Choose a sync type; for a transformation, see How Dimension and Fact runs write data.

Why was my run skipped with "Full Reload From Date Not Reached"?

The start date is after the date the run loaded for, so there was nothing to load yet. Set an earlier Full Reload Start Date so the load can start.

What do "Day Replaced" and "Day Cleared" mean?

They come from a reload of chosen days. A day the extract returned rows for is Day Replaced: the table's data for that day is replaced with the fresh rows. A day that produced no rows is Day Cleared: its data is cleared. Read the two steps to see which days changed.

Why does my run show "Rows Outside Requested Days"?

The extract returned rows for days you did not ask for, so they are not loaded; the step lists the days it discarded. Check the days you chose and the table's incremental column.

My run shows "Staging Drop Failed". Did it fail?

No. The step is a warning: the run published its data, and only the removal of its temporary tables failed. They are removed automatically later; the Temporary ETL tables panel in ClickHouse storage and maintenance lists them meanwhile.

My Warehouse run shows "Empty Staging Tables Failed". Did it fail?

No. The step is a warning: the run's own work finished, and only the cleanup of the staging copies failed. The step text says the run itself succeeded. Watch the next run.

Why did a run write "Eligibility Warning Ignored"?

You started it by hand. A manual run goes ahead when the only problem is a warning-level check, and records this step. An error-level check still stops the run.

Why don't all runs show the same steps?

Every kind of step writes its own messages. A snapshot load writes Snapshot DDL steps, a reload of chosen days writes Explicit Day steps, and a write-back writes JDBC steps. A run shows only the messages of the steps it ran.