Reloads and partitions

A reload is what each Lake run does to the data already stored: it replaces the days the run covered, or swaps the whole table, depending on the table's sync type. Use this page to see exactly what a run replaces, why reloads work in whole days, and why a swap is sometimes refused.

See what each reload replaces

Sync typeWhat the run replaces
Full Reload (Truncate Insert)The whole stored table, in one swap. If the load fails midway, the old data stays.
Incremental Reload (Truncate Insert)Only the days the window covers, each day as one whole block. Days outside the window keep the rows they had.
Incremental Reload Loop (Truncate Insert)The same days, walked one day range at a time. The steps cover every window day exactly once: no gaps, no overlaps.
Full Reload (Upsert) and Incremental (Upsert)Nothing is swapped; rows merge by key instead.
Full Snapshot and Incremental SnapshotNothing is replaced. Each run attaches its copy as a new version; read a past version with Snapshot From and Snapshot To.
OnetimeThe whole table, in one swap, and only while the table is empty.
Note

On a table whose incremental type has Full Reload When Empty on, the first load into an empty table replaces everything in a single swap; later runs go back to replacing their window days. See Choose a sync type for how that first load is sized.

To compare the patterns before you pick one, see Choose a sync type and the Sync patterns guide.

How a reload works in whole days

An incremental reload works in whole days. Each day inside the window is one block, and the swap replaces the block as a unit instead of editing single rows. That is what makes updates and deletes inside the window land cleanly with the swap.

You can see a table's blocks on its Settings tab. The Storage card shows a Partitions count, and Truncate Partitions lists the days when you choose partitions to remove. See Run, stop and troubleshoot loads.

When a swap is refused

Each run replaces the days its window covers, day by day. Before a swap, the run checks that the fresh data lands inside those days. If the fresh data shares no day with the window, replacing would clear the window and put nothing back, so the swap is refused instead: the run ends, the days are not replaced, and the table keeps its data.

The refusal is recorded on the run; open its Error Stack in the Sync Log to read it (see Run, stop and troubleshoot loads). Check the table's date column settings and the run's Current Date. If the refusal repeats, redeploy the table so it is partitioned by its incremental column.

For other load failures, see Lake troubleshooting.

Questions, answered

What happens to days outside the window?

They stay exactly as they were. A run replaces only the days inside its window; changes older than the window are never picked up. See Choose a sync type.

Why was my swap refused?

The fresh data shared no day with the window the run was replacing, so the swap would have cleared those days and put nothing back. The run was stopped instead, and the table kept its data. Check the table's date column settings and the run's Current Date; if it repeats, redeploy the table so it is partitioned by its incremental column. Read the refusal in the run's Error Stack (see Run, stop and troubleshoot loads).

Does a failed reload leave half-replaced data?

No. Everything lands as whole blocks: a full reload swaps the table as one operation, and each day of an incremental reload is replaced as a whole block, never single rows. If a full load fails midway, the old data stays; days the run had not reached keep what they had.

My first load replaced everything at once. Why?

When Full Reload When Empty is on and the table is empty, the first load runs as one full swap; later runs go back to replacing their window days. See Choose a sync type for how that first load is sized.

Does the loop type skip or repeat any days?

No. The loop type walks the window one day range at a time, and the steps cover every day of the window exactly once: no gaps, no overlaps. Each step replaces its own days as whole blocks. Set the step size with Loop Increment; see Choose a sync type.

Does a snapshot load replace existing rows?

No. A snapshot run attaches its copy as a new version instead of replacing days, and a past version stays readable with Snapshot From and Snapshot To. See Choose a sync type.

Why does a reload replace whole days instead of single rows?

Because an incremental reload keeps its data in day blocks and swaps each block as a unit. That is what makes updates and deletes inside the window land with the swap; days outside the window are not read at all.

Where can I see a table's day blocks?

On the table's Settings tab. The Storage card shows a Partitions count, and Truncate Partitions lists the days when you choose partitions to remove. See Run, stop and troubleshoot loads.