Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Timezone changed on server and UI to local/Pacific, but DateTimeSensor still using UTC #24359

Closed
1 of 2 tasks
thelastmessiha opened this issue Jun 9, 2022 · 4 comments
Closed
1 of 2 tasks

Comments

@thelastmessiha
Copy link
Contributor

thelastmessiha commented Jun 9, 2022

Apache Airflow version

2.2.5

What happened

I've set the core default_timezone and default_ui_timezone values to America/Los_Angeles which successfully makes the scheduler respect the local Pacific timezone, however, when I create a task using the DateTimeSensor in a dag with schedule_interval='@daily' and would like that particular task to wait until 3am Pacific using the below code, it still appears to be using UTC rather than Pacific and completes as soon as it's scheduled, at midnight Pacific, rather than waiting until 3am Pacific. I believe this is happening at midnight Pacific because the dag itself is bound by the schedule_interval='@daily' which is in Pacific time and when it checks if it's 3am UTC yet, it evaluates to the past and executes.

start = DateTimeSensor(
task_id='start',
target_time='{{ data_interval_end.replace(hour=3) }}',
dag=dag,
)

One way to get this working as expected is to change it to the following, which explicitly specifies the timezone, but this is tedious as it would need to be used everywhere and I'd like to be able to develop all dags without having to think about timezone since everything is Pacific timezone-based:

start = DateTimeSensor(
task_id='start',
target_time='{{ data_interval_end.replace(tzinfo="America/Los_Angeles", hour=3) }}',
dag=dag,
)

What you think should happen instead

I think it makes sense to automatically make all behaviors related to timezone match the scheduler's timezone unless otherwise explicitly specified.

How to reproduce

set the core default_timezone and default_ui_timezone values to America/Los_Angeles.

Observe the tasks executions and note the time that the DateTimeSensors are completing.

Operating System

Ubuntu 18.04.6 LTS (Bionic Beaver)

Versions of Apache Airflow Providers

composer-1.18.11-airflow-2.2.5 (provided by Google, GCP Composer)

Deployment

Composer

Deployment details

No response

Anything else

No response

Are you willing to submit PR?

  • Yes I am willing to submit a PR!

Code of Conduct

@thelastmessiha thelastmessiha added area:core kind:bug This is a clearly a bug labels Jun 9, 2022
@boring-cyborg
Copy link

boring-cyborg bot commented Jun 9, 2022

Thanks for opening your first issue here! Be sure to follow the issue template!

@potiuk
Copy link
Member

potiuk commented Jun 19, 2022

I think there are currently a few timezone behaviours that @bbovenzi and @uranusjr and @ephraimbuddy are handling - I am not sure if the current proposal falls into it and how consistency would be applided but those seem to be related #24373 #17131 #21171 #23796 for example.

Copy link

This issue has been automatically marked as stale because it has been open for 365 days without any activity. There has been several Airflow releases since last activity on this issue. Kindly asking to recheck the report against latest Airflow version and let us know if the issue is reproducible. The issue will be closed in next 30 days if no further activity occurs from the issue author.

Copy link

github-actions bot commented Apr 4, 2024

This issue has been closed because it has not received response from the issue author.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Apr 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants