This is an automated email from the ASF dual-hosted git repository.

bbovenzi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git


The following commit(s) were added to refs/heads/main by this push:
     new 215ff88030e Pass mapIndex to clear the relevant task instances similar 
to dry run. (#50256)
215ff88030e is described below

commit 215ff88030e3201e99ec6442c5b1afd113c87eef
Author: Karthikeyan Singaravelan <[email protected]>
AuthorDate: Tue May 6 20:42:55 2025 +0530

    Pass mapIndex to clear the relevant task instances similar to dry run. 
(#50256)
---
 .../ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.tsx | 2 +-
 airflow-core/src/airflow/ui/src/queries/useClearTaskInstances.ts     | 5 ++---
 2 files changed, 3 insertions(+), 4 deletions(-)

diff --git 
a/airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.tsx
 
b/airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.tsx
index 53126f9e88e..3d251138ff1 100644
--- 
a/airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.tsx
+++ 
b/airflow-core/src/airflow/ui/src/components/Clear/TaskInstance/ClearTaskInstanceDialog.tsx
@@ -131,7 +131,7 @@ const ClearTaskInstanceDialog = ({ onClose, open, 
taskInstance }: Props) => {
                     include_past: past,
                     include_upstream: upstream,
                     only_failed: onlyFailed,
-                    task_ids: [taskId],
+                    task_ids: [[taskId, mapIndex]],
                   },
                 });
                 if (note !== taskInstance.note) {
diff --git a/airflow-core/src/airflow/ui/src/queries/useClearTaskInstances.ts 
b/airflow-core/src/airflow/ui/src/queries/useClearTaskInstances.ts
index e5a4f3e745d..205f6faa072 100644
--- a/airflow-core/src/airflow/ui/src/queries/useClearTaskInstances.ts
+++ b/airflow-core/src/airflow/ui/src/queries/useClearTaskInstances.ts
@@ -60,15 +60,14 @@ export const useClearTaskInstances = ({
         (variables.requestBody.task_ids ?? [])
           .filter((taskId) => typeof taskId === "string" || 
Array.isArray(taskId))
           .map((taskId) => {
-            const actualTaskId = Array.isArray(taskId) ? taskId[0] : taskId;
+            const [actualTaskId, mapIndex] = Array.isArray(taskId) ? taskId : 
[taskId, undefined];
             const runId = variables.requestBody.dag_run_id;
 
             if (runId === null || runId === undefined) {
               return undefined;
             }
 
-            // TODO: update mapIndex when the endpoint supports clearing 
mapped tasks
-            const params = { dagId, dagRunId: runId, mapIndex: -1, taskId: 
actualTaskId };
+            const params = { dagId, dagRunId: runId, mapIndex: mapIndex ?? -1, 
taskId: actualTaskId };
 
             return UseTaskInstanceServiceGetMappedTaskInstanceKeyFn(params);
           })

Reply via email to