DE Mastery GitHub

Lakehouse & open table formats · LKH-02

Commits & concurrency

From your world. Overlapping dbt runs writing the same table

Practice quiz with instant feedback. For a scored run that counts toward your local progress, use uv run de quiz LKH-02.

1What does Iceberg's optimistic concurrency control assume, and how does a commit detect a conflict?
2Two writers both read balance=100. Each writer reads the row and then overwrites it with a new balance. The first writer commits 110. The second writer (still based on 100) commits 105. What happened?
3After a commit raises a conflict (CommitFailedException), what is the correct recovery?
4Which kind of operation can Iceberg most often re-apply automatically after a conflict, without you recomputing?
5Why is blindly catching CommitFailedException and continuing a dangerous anti-pattern?
6How does refresh-and-reapply guarantee no lost update across two conflicting read-modify-write operations?
7When is Iceberg OCC a poor fit?