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

Xiaodong DENG commented on AIRFLOW-4297:
----------------------------------------

Another issue found:

Say schedule_interval is NOT None, so most DagRuns may be triggered by the 
scheduler. Then I may also manually triggered a DagRun. Then that DagRun 
triggered by me manually will not be covered by manage_slas().

This is because of manage_slas() simply check the DagRuns listed by 
dag.following_schedule() which can only cover the DagRuns triggered by 
scheduler.

> Manually triggerd DAG with no schedule_interval breaks scheduler
> ----------------------------------------------------------------
>
>                 Key: AIRFLOW-4297
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-4297
>             Project: Apache Airflow
>          Issue Type: Bug
>    Affects Versions: 1.10.3
>            Reporter: Ash Berlin-Taylor
>            Assignee: Xiaodong DENG
>            Priority: Blocker
>             Fix For: 1.10.4
>
>
> {code:title=example_dag.py}
> timezone = "UTC"
> local_tz = pendulum.timezone(timezone)
> start_date = datetime.datetime.strptime('2019-03-28 07:57:00', "%Y-%m-%d 
> %H:%M:%S")
> start_date = start_date.replace(tzinfo=local_tz)
> default_args = {
> 'owner': 'DaniRC'
> }
> dag = DAG('testsla',
>     default_args=default_args,
>     start_date=start_date,
>     concurrency=1,
>     max_active_runs=1,
>     default_view='tree',
>     orientation='TB',
>     catchup=False,
>     schedule_interval=None
>     )
> {code}
> If this DAG is triggered, then this error occurs:
> {noformat}
> Process DagFileProcessor5303-Process:
> Traceback (most recent call last):
>   File "/usr/lib/python3.6/multiprocessing/process.py", line 258, in 
> _bootstrap
>     self.run()
>   File "/usr/lib/python3.6/multiprocessing/process.py", line 93, in run
>     self._target(*self._args, **self._kwargs)
>   File "/usr/lib/python3.6/site-packages/airflow/jobs.py", line 402, in helper
>     pickle_dags)
>   File "/usr/lib/python3.6/site-packages/airflow/utils/db.py", line 73, in 
> wrapper
>     return func(*args, **kwargs)
>   File "/usr/lib/python3.6/site-packages/airflow/jobs.py", line 1760, in 
> process_file
>     self._process_dags(dagbag, dags, ti_keys_to_schedule)
>   File "/usr/lib/python3.6/site-packages/airflow/jobs.py", line 1452, in 
> _process_dags
>     self.manage_slas(dag)
>   File "/usr/lib/python3.6/site-packages/airflow/utils/db.py", line 73, in 
> wrapper
>     return func(*args, **kwargs)
>   File "/usr/lib/python3.6/site-packages/airflow/jobs.py", line 662, in 
> manage_slas
>     while dttm < timezone.utcnow():
> TypeError: '<' not supported between instances of 'NoneType' and 
> 'datetime.datetime'
> {noformat}
> After this happens the scheduler also won't schedule any further tasks for 
> _ANY_ dag.



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

Reply via email to