Stanislav Pak created AIRFLOW-1463:
--------------------------------------

             Summary: Clear state of pending task when it fails due to DAG 
import error
                 Key: AIRFLOW-1463
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-1463
             Project: Apache Airflow
          Issue Type: Improvement
          Components: cli
         Environment: Ubuntu 14.04
Airflow 1.8.0

SQS backed task queue, AWS RDS backed meta storage

DAG folder is synced by script on code push: archive is downloaded from s3, 
unpacked, moved, install script is run. airflow executable is replaced with 
symlink pointing to the latest version of code, no airflow processes are 
restarted.


            Reporter: Stanislav Pak
            Assignee: Stanislav Pak
            Priority: Minor


Our pipelines related code is deployed almost simultaneously on all airflow 
boxes: scheduler+webserver box, workers boxes. Some common python package is 
deployed on those boxes on every other code push (3-5 deployments per hour). 
Due to installation specifics, a DAG that imports module from that package 
might fail. If DAG import fails when worker runs a task, the task is still 
removed from the queue but task state is not changed, so in this case the task 
stays in PENDING state forever.

Beside the described case, there is scenario when it happens because of DAG 
update lag in scheduler. A task can be scheduler with old DAG and worker can 
run the task with new DAG that fails to be imported.

There might be other scenarios when it happens.

Proposal:
Catch errors when importing DAG on task run and clear task instance state if 
import fails. This should fix transient issues of this kind.




--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to