Courseiva

PDE Maintaining and Automating Data Workloads Practice Question

You are designing the deployment process for a Dataflow streaming pipeline that processes financial transactions. The pipeline must be updated without losing in-flight state, such as open windows and timers, and without downtime. Your team uses the Apache Beam Java SDK and deploys from a CI/CD pipeline. Which update strategy should you use?

⚠ Common exam trap

The trap here is assuming a snapshot or drain preserves state for a new job, when only an in-place update maintains state without interrupting processing.

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

✓

Submit an update with the --update option and a compatible transform change to replace the pipeline in place.

Dataflow update replaces a running streaming pipeline in place while preserving state, provided the transform changes are compatible with the update compatibility rules. This avoids downtime and keeps windowed state intact. Draining, snapshot-based restart, and cancel-redeploy all interrupt processing or discard state, making them unsuitable for stateful, zero-downtime updates.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • ✓

    Submit an update with the --update option and a compatible transform change to replace the pipeline in place.

    Why this is correct

    Dataflow supports in-place updates via the update option, which preserves pipeline state including windows and timers if the transform changes are compatible. This allows the pipeline to continue processing without downtime. It is the standard mechanism for evolving streaming pipelines while maintaining exactly-once semantics and state.

  • ✗

    Cancel the pipeline and redeploy with a new job name.

    Why it's wrong here

    Cancelling stops the pipeline immediately and discards state, so open windows and timers are lost. Redeploying with a new job name starts from scratch, causing data loss or incorrect aggregation results. This strategy is used only when state preservation is not required.

  • ✗

    Use a snapshot and then start a new job from the snapshot to preserve state.

    Why it's wrong here

    Snapshots capture pipeline state for recovery, but starting a new job from a snapshot is a recovery mechanism, not an in-place update. It requires stopping the original pipeline first and does not provide a seamless update path. For stateful updates without downtime, a replacement update is the correct approach.

  • ✗

    Stop the pipeline with a drain, then start a new pipeline from the same template.

    Why it's wrong here

    Draining stops the pipeline after processing in-flight data, but it does not preserve state such as open windows and timers for the new pipeline. Starting fresh would reset state and could produce incorrect results for windowed aggregations. Draining is appropriate for termination, not for stateful updates.

About these practice questions

One of 747 original PDE practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

JA

Written and reviewed by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

Last reviewed September 2026 · checked against the official Google Cloud exam blueprint

This PDE practice question is part of Courseiva's free Google Cloud certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the PDE exam.