airflow-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ash Berlin-Taylor (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (AIRFLOW-3422) Infinite loops during springtime DST transitions on python 3.6
Date Fri, 30 Nov 2018 09:28:00 GMT

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

Ash Berlin-Taylor commented on AIRFLOW-3422:
--------------------------------------------

Thanks, and confirmed behaviour on 3.6 local.

We also (try) to not use the timezone library and just use pendulum for TZ functions.

I'll take a look a try and get a fix in 1.10.2

> Infinite loops during springtime DST transitions on python 3.6
> --------------------------------------------------------------
>
>                 Key: AIRFLOW-3422
>                 URL: https://issues.apache.org/jira/browse/AIRFLOW-3422
>             Project: Apache Airflow
>          Issue Type: Bug
>          Components: scheduler
>    Affects Versions: 1.10.1
>            Reporter: Till Heistermann
>            Priority: Major
>             Fix For: 1.10.2
>
>
> Automatic DST transitions can cause dags to be stuck in an infinite loop, if they happen
to be scheduled in the "skipped" hour during a springtime DST transition. 
> The fix introduced in https://issues.apache.org/jira/browse/AIRFLOW-3277 does not seem
to work for python 3.6, only for 3.5 and 2.7.
> Example to reproduce (current master, python 3.6):
> {code:java}
> import pendulum
> from datetime import datetime
> from airflow.utils.timezone import make_aware
> from airflow.models import DAG
> nsw = pendulum.Timezone.load("Australia/Sydney")
> dt = make_aware(datetime(2018, 10, 3, 2, 30), nsw)
> dag = DAG("id", schedule_interval="30 2 * * *", start_date=dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> dt = dag.following_schedule(dt); print(dt)
> {code}
>  
>  



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

Mime
View raw message