PDE Maintaining and Automating Data Workloads Practice Question
Your team runs a Cloud Composer 2 environment to orchestrate BigQuery ELT jobs. A DAG that loads a critical fact table must only run after an upstream ingestion DAG completes, and you want Composer itself to trigger it automatically without any external scheduler. Which mechanism should you use?
⚠ Common exam trap
The trap here is assuming any scheduling mechanism that can trigger a DAG also enforces a true completion dependency, when only a sensor that inspects the upstream task state does.
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
✓
An ExternalTaskSensor that watches the upstream DAG's task in the same Composer environment.
Airflow's ExternalTaskSensor exists specifically to express a dependency on a task in another DAG within the same Airflow deployment. It checks the external DAG run for the matching execution date and only allows downstream tasks to proceed after the upstream task succeeds. Time-based waits, external cron triggers, and message-based glue all fail to guarantee that the ingestion actually finished successfully before the load begins.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
A TimeDeltaSensor with a fixed delay that matches the upstream DAG's typical runtime.
Why it's wrong here
A TimeDeltaSensor simply waits a fixed duration before letting downstream tasks proceed. It has no knowledge of whether the ingestion DAG actually succeeded, so if the upstream job runs long or fails, the fact-table load either starts too early or never runs at all. This creates fragile timing-based coupling rather than a true dependency.
- ✗
A Pub/Sub push subscription that invokes a Cloud Function to call the downstream DAG's trigger endpoint.
Why it's wrong here
This pattern only works if the ingestion pipeline explicitly publishes a completion message. Nothing in the scenario indicates that, and building the publisher plus the function adds components that must be secured and monitored. Airflow's native cross-DAG sensor already solves the problem inside Composer without custom glue.
- ✓
An ExternalTaskSensor that watches the upstream DAG's task in the same Composer environment.
Why this is correct
ExternalTaskSensor is designed precisely for cross-DAG dependencies within the same Airflow deployment. It polls the metadata database for the specified external DAG and task run in the matching logical date, then releases downstream tasks only when that upstream task reaches the expected state. This gives a real completion dependency instead of guessing at timing.
- ✗
A Cloud Scheduler job that calls the Airflow REST API to trigger the downstream DAG on a cron schedule.
Why it's wrong here
Cloud Scheduler triggers on wall-clock time, not on the upstream DAG's actual completion. If ingestion is delayed or retried, the downstream DAG fires against incomplete data. It also introduces an external scheduler that Composer already replaces, adding a second control plane to maintain and monitor.
Go deeper
Related to this question
About these practice questions
This PDE question is part of Courseiva's 747-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam dumps. Learn why practice questions differ from exam dumps →
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.