ephraimbuddy commented on issue #25200:
URL: https://github.com/apache/airflow/issues/25200#issuecomment-1227870432

   Poked around this issue again and the code below resolved it:
   ```diff
   diff --git a/airflow/models/dagrun.py b/airflow/models/dagrun.py
   index 701618d5c4..55ca28b13e 100644
   --- a/airflow/models/dagrun.py
   +++ b/airflow/models/dagrun.py
   @@ -547,6 +547,9 @@ class DagRun(Base, LoggingMixin):
    
            leaf_task_ids = {t.task_id for t in dag.leaves}
            leaf_tis = [ti for ti in tis if ti.task_id in leaf_task_ids if 
ti.state != TaskInstanceState.REMOVED]
   +        
   +        if unfinished_tis:
   +            unfinished_tis = [t for t in unfinished_tis if t.state in 
State.unfinished]
    
            # if all roots finished and at least one failed, the run failed
            if not unfinished_tis and any(leaf_ti.state in State.failed_states 
for leaf_ti in leaf_tis):
   ```
   I ran the above dag several times with the change and it all succeeded(174 
dagruns), however, I'm thinking it might not work on a faster machine. Maybe 
someone should try it. I think the better solution would be to move the mapped 
task expansion of last resort into the local task job


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to