> ## Documentation Index
> Fetch the complete documentation index at: https://docs.e6data.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Selective reruns

> Repeat selected tasks from a completed run while reusing eligible successful work. A selective rerun creates a new linked run; the source run stays unchanged.

How-to guideApplies to: Unified engine deployments

Repeat selected tasks from a completed run while reusing eligible successful work. A selective rerun creates a new linked run; the source run stays unchanged.

## Choose the right action

| Action | Definition and scope |
| - | - |
| Automatic retry | Another attempt for one task within the same run. |
| Run again | A new run using the current workload revision. |
| Selective rerun | A linked run using the source run's recorded definition and invocation. |
| Backfill | A set of runs for selected historical schedule windows. |

Use a new normal run if the purpose is to execute corrected current code. Selective reruns preserve the earlier recorded context, parameters, and window.

## 1. Complete the example graph

Run [Build a multi-task workflow](https://docs.e6data.com/transformation/workloads/multi-task-workflow.md) successfully. Record its workload ID and run ID. The graph has `orders`, `by_category`, `by_region`, and `combine`.

To repeat only the final combination, preview a selection containing `combine`.

In the completed run, select **Rerun tasks**. Clear **Include failed, skipped, and cancelled tasks** and **Include downstream tasks**, then select `combine`. Choose **Preview** and review Execute, Reuse, and any blocked reasons.

The equivalent HTTP preview is:

```http theme={"theme":{"light":"github-light","dark":"github-dark"}}
POST /api/v1/workloads/{workload_id}/runs/{run_id}/rerun/preview
Content-Type: application/json
```

```json theme={"theme":{"light":"github-light","dark":"github-dark"}}
{
  "submission_id": "55555555-5555-4555-8555-555555555555",
  "tasks": ["combine"],
  "include_downstream": false,
  "failed_only": false
}
```

## 2. Read the preview

The plan separates tasks into `execute`, `reuse`, and `blocked`. For a successful source run with retained required results, expect `combine` to execute and the three upstream tasks to be reused. `blocked` should be empty.

A successful upstream task is not enough when its rows are required but no longer available. Include that task in the execution selection, and include further upstream tasks if their own required results are unavailable.

To repeat the category summary and its consumers, select `by_category` with `include_downstream: true`. This adds `combine`. The region summary can be reused if its result is still available.

`failed_only: true` adds failed, skipped, and cancelled tasks to the selection. It does not mean that every task outside that selection can always be reused. Check blocked prerequisites.

## 3. Start the linked run

Select **Start rerun** when the plan is ready. Through HTTP, POST the same reviewed selection to `/api/v1/workloads/{workload_id}/runs/{run_id}/rerun`. Reuse the submission ID and identical request if the response is lost. Use a new submission ID for another deliberate rerun.

In the dialog, **Check submission** recovers an uncertain start with the same request. Do not change the selection and create another run just because an acknowledgement was lost.

Open the new run. Confirm a different run ID, its source-run link, the selected tasks' new attempts, and reused-task origins. The final summary should remain Books 60, Games 45, Garden 35, North 85, and South 55.

## Understand the boundaries

The source run must be terminal with confirmed outcomes and completed cleanup. Pending, active, uncertain, or still-cleaning runs cannot be used. Runs without saved invocation settings cannot supply the required historical context.

Selective reruns are for saved batch workloads without streaming or incremental cursors. They do not reset progress or implement streaming repair.

Reusing a successful write means preserving that confirmed outcome, not replaying the write. It does not freeze the current contents of the destination table. Re-executing a selected append can still add duplicate data.

Use [Results and table commits](https://docs.e6data.com/transformation/workloads/results-and-commits.md) when deciding whether a publication task should be reused or executed again.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.