A Dataflow streaming pipeline that builds session windows needs a code change to one parsing step. Operators want the new version to take over without discarding the in-progress windowed state. Which approach meets this?
Show answer and explanation
Answer: A
Dataflow supports updating a streaming job in place with the update option when the change keeps the pipeline graph compatible, such as changing the logic inside a transform without renaming steps. The service transfers state to the replacement job so in-progress windows continue. Cancelling discards that state, streaming jobs never finish on their own, and recreating a subscription can lose messages that were queued or in flight.
Why the other options are wrong
- B. Cancelling the job discards the windowed state, so open sessions restart. Results for affected users can be wrong or duplicated.
- C. A streaming job does not reach a natural finish because its input is unbounded. Waiting for completion would never happen, so the change would never roll out.
- D. Recreating the subscription can drop or redeliver messages still in flight, and the new job would start with empty windows. This loses the continuity the team needs.