DE Mastery GitHub

Apache Flink · FLK-12

Deploy & operate — upgrade a stateful job via savepoint without losing state

  • 5 h
  • ☁️free
  • requires FLK-06

From your world. a dbt/pipeline deploy that must not lose accumulated state — upgrading the job while preserving the running totals, like a zero-downtime schema migration

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

1What is the difference between a checkpoint and a savepoint in Flink?
2A job keeps a counter in a transient instance field (transient long n) and not in ValueState. What happens after you restore the job from a savepoint?
3Why should you assign an explicit .uid() to stateful operators?
4What is the correct sequence of steps to upgrade a running stateful job to a new jar without losing state?
5You remove a stateful operator from the job. The savepoint still contains its state. How do you start the new job?
6Why must the rescaling (change of parallelism) of a stateful job go through a savepoint and not a plain restart?
7In production, which systems do the stop-with-savepoint and start-from-savepoint on each deploy?
8The read offset of a source must survive a savepoint, so the stream resumes where it stopped. Where should the offset live?