BigData / Apache Iceberg Interview questions
What is the difference between a snapshot rollback and time travel?
Both involve accessing a past state of the table, but they differ in whether that past state becomes the table's new current, writable state, or is only being read temporarily without changing what the table's current pointer refers to.
| Time Travel | Rollback |
| Read-only query against a past snapshot. | Changes the table's current snapshot pointer to a past one. |
| Doesn't affect what other queries see as the current state. | Affects the table's current state for all subsequent queries. |
| Used for inspection, auditing, or reproducible analysis. | Used to undo unwanted or erroneous recent changes. |
| The table's own history and current pointer are untouched. | Preserves full history; doesn't delete the snapshots being rolled back from. |
A rollback (via a procedure like rollback_to_snapshot) is a deliberate, table-wide action — typically used to recover from a bad write, like a job that accidentally wrote corrupted or duplicate data — and like every other change to an Iceberg table, it doesn't destroy the snapshots it rolls back from; the previously-current snapshot remains in the table's history and can itself still be time-traveled to afterward, even though it's no longer the table's default, current state.
More Related questions...