# A pipeline on the canvas runs as a single monolithic Python task that does extract+clean+aggregate i

Canonical URL: <https://datadriven.io/problems/a-pipeline-on-the-canvas-runs-as-a-single-monolithic-python-62956494>

Domain: Pipeline Design · Difficulty: medium

## Problem

A pipeline on the canvas runs as a single monolithic Python task that does extract+clean+aggregate inside one operator. The team is debating whether to add a single DAG-level retry that re-runs the whole DAG on any failure. Apply the task-DAG-run vocabulary this section just taught and reject the DAG-level retry approach. Retries operate on task instances (one task in one run), not on DAGs; re-running the whole DAG repeats successful work. Split the monolith into three distinct task nodes (extract_orders, clean_orders, aggregate_orders) so each retries independently when it fails. The orchestrator (already present) owns the schedule and the per-task retry policy; the structural split is what makes per-task retry meaningful.

## Related

- [All practice problems](https://datadriven.io/problems)
- [Mock interview mode](https://datadriven.io/interview/a-pipeline-on-the-canvas-runs-as-a-single-monolithic-python-62956494)
- [System Design Interview Questions](https://datadriven.io/data-engineering-system-design)
- [Data Engineering Interview Prep Guide](https://datadriven.io/data-engineer-interview-prep)
- [Daily Challenge](https://datadriven.io/daily)

---

Source: DataDriven (https://datadriven.io). 100% free data engineering interview prep. Live code execution against Postgres 16, Python 3.11, and Spark sandboxes. No paywall, no premium tier, no signup gate.