You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Airflow前置任务重试成功后,下游任务仍显示upstream_failed状态求解决

问题分析

在Airflow 2.0.2版本中,当上游任务(任务A)首次失败后重试成功时,下游任务(任务B)触发规则设为ALL_SUCCESS却被标记为upstream_failed的问题,属于该版本的已知缺陷:调度器在任务A首次失败时,会将任务B标记为upstream_failed,且不会在任务A重试成功后自动重新评估任务B的触发条件。

修复方案

1. 升级Airflow版本(推荐长期方案)

Airflow 2.1.0及以上版本修复了多个触发规则与重试任务相关的状态判断bug。在AWS MWAA中,你可以:

  • 创建新的MWAA环境并选择Airflow 2.1.0+版本
  • 若现有环境支持版本升级,直接在AWS控制台更新Airflow版本

2. 修改任务B的触发规则(临时/兼容方案)

如果无法立即升级版本,可将任务B的触发规则从ALL_SUCCESS改为NONE_FAILED_OR_SKIPPED。该规则会忽略上游任务的中间失败记录,只要上游任务最终状态为成功,就会触发下游任务执行。示例代码:

task_b = PythonOperator(
    task_id='task_b',
    python_callable=your_function,
    trigger_rule='NONE_FAILED_OR_SKIPPED',
    dag=dag
)

3. 手动触发任务B(应急方案)

对于已经出现异常的DAG运行实例,可通过Airflow UI手动清除任务B的upstream_failed状态,然后点击"Trigger"按钮触发任务B执行。

4. 优化MWAA调度器配置

确保MWAA环境的调度器参数dag_dir_list_interval设置合理(建议设为30秒),让调度器能及时感知任务状态的更新,减少状态延迟导致的异常。

内容的提问来源于stack exchange,提问作者val

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 02:41:06