PROFESSIONAL-DATA-ENGINEER · Question #350
You created a new version of a Dataflow streaming data ingestion pipeline that reads from Pub/Sub and writes to BigQuery. The previous version of the pipeline that runs in production uses a 5-minute…
Using a Dataflow snapshot preserves in-flight state and watermarks from the running pipeline, enabling a zero-data-loss cutover to the new pipeline version.
Question
Options
- AUpdate the old pipeline with the new pipeline code.
- BSnapshot the old pipeline, stop the old pipeline, and then start the new pipeline from the snapshot.
Why each option
Using a Dataflow snapshot preserves in-flight state and watermarks from the running pipeline, enabling a zero-data-loss cutover to the new pipeline version.
Updating the old pipeline in place with new code causes a full job restart, which drains the current pipeline and restarts processing, potentially causing data loss or extended latency exceeding the 10-minute threshold.
Concept tested: Dataflow pipeline snapshot for zero-downtime pipeline replacement
Source: https://cloud.google.com/dataflow/docs/guides/pipeline-snapshots
Topics
Community Discussion
No community discussion yet for this question.