Lukas Kronsbein created AIRFLOW-4568:
----------------------------------------

             Summary: The ExternalTaskSensor should be configurable to raise an 
Airflow Exception in case the poked external task reaches a disallowed state, 
such as f.i. failed
                 Key: AIRFLOW-4568
                 URL: https://issues.apache.org/jira/browse/AIRFLOW-4568
             Project: Apache Airflow
          Issue Type: Improvement
          Components: operators
    Affects Versions: 1.10.3
            Reporter: Lukas Kronsbein


_As an engineer, I would like to have the behavior of the ExternalTaskSensor 
changed_
_So that it fails in case the poked external_task_id fails_

*Therefore*
 * I suggest extending the behavior of the sensor to optionally also query the 
TaskInstance for disallowed states and raise an AirflowException if found. 
Currently, if the poked external task reaches a failed state, the sensor 
continues to poke and does not terminate

*Acceptance Criteria (from my pov)*
 * The class interface for ExternalTaskSensor is extended with an additional 
parameter, disallowed_states, which is an Optional List of 
airflow.utils.state.State
 * The poke method is expanded to count the number of rows from TaskInstance 
which met the filter criteria dag_id, task_id, disallowed_states and 
dttm_filter if disallowed_states is not None
 * If disallowed_states is not None and the above query returns a counter > 0, 
an Airflow Exception is thrown



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to