You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airflow.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2017/10/02 20:53:01 UTC

[jira] [Commented] (AIRFLOW-988) SLA Miss Callbacks Are Repeated if Email is Not being Used

    [ https://issues.apache.org/jira/browse/AIRFLOW-988?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16188811#comment-16188811 ] 

ASF subversion and git services commented on AIRFLOW-988:
---------------------------------------------------------

Commit ebc02fb53e0faa59cb2dcbc1db13adc58a88646c in incubator-airflow's branch refs/heads/master from [~cjonesy]
[ https://git-wip-us.apache.org/repos/asf?p=incubator-airflow.git;h=ebc02fb ]

[AIRFLOW-988] Fix repeating SLA miss callbacks

When a callback is passed to `sla_miss_callback` but an email address
is not specified, the callback will be continuously called. This is due
to the logic used when pulling the slas in `SchedulerJob.manage_slas`.

By filtering on `notification_sent` only we will still handle the cases
where email is used, but it will prevent the continuous callbacks.

Closes #2415 from cjonesy/master


> SLA Miss Callbacks Are Repeated if Email is Not being Used
> ----------------------------------------------------------
>
>                 Key: AIRFLOW-988
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-988
>             Project: Apache Airflow
>          Issue Type: Bug
>    Affects Versions: Airflow 1.8
>            Reporter: Zachary Lawson
>            Assignee: Charlie Jones
>             Fix For: 1.9.0
>
>
> There is an issue in the current v1-8-stable branch. Looking at the jobs.py module, if the system does not have email set up but does have a sla_miss_callback defined in the DAG, that sla_miss_callback is repeated for that job infinitely as long as the airflow scheduler is running. The offending code seems to be in the query to the airflow meta database which filters to sla_miss records that have *either* email_sent or notification_sent as false ([see lines 606-613|https://github.com/apache/incubator-airflow/blob/v1-8-stable/airflow/jobs.py#L606-L613]), but then executes the sla_miss_callback function regardless if notification_sent was true ([see lines 644-648|https://github.com/apache/incubator-airflow/blob/v1-8-stable/airflow/jobs.py#L644-L648]). A conditional statement should be put prior to executing the sla_miss_callback to check whether a notification has been sent to prevent this.



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