-
Notifications
You must be signed in to change notification settings - Fork 14.5k
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
Fix race condition with dagrun callbacks #16741
Conversation
ba1a248
to
29f1f89
Compare
(still needs more test coverage I think, but would like to get a preliminary review before I spend more time on it) |
f202756
to
acacc9a
Compare
The PR most likely needs to run full matrix of tests because it modifies parts of the core of Airflow. However, committers might decide to merge it quickly and take the risk. If they don't merge it quickly - please rebase it to the latest main at your convenience, or amend the last commit of the PR, and push it with --force-with-lease. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The approach looks sensible to me, worth adding a single test to make sure the end_date is set
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, just one trivial nitpick ❤️
80d78eb
to
6fb17d8
Compare
6fb17d8
to
f3e2ae5
Compare
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs.
f3e2ae5
to
47d3350
Compare
Merged, failures are flacky tests. |
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs. (cherry picked from commit fb3031a)
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs. (cherry picked from commit fb3031a)
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs. (cherry picked from commit fb3031a)
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs. (cherry picked from commit fb3031a)
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs. (cherry picked from commit fb3031a)
Instead of immediately sending callbacks to be processed, wait until after we commit so the dagrun.end_date is guaranteed to be there when the callback runs. (cherry picked from commit fb3031a)
Instead of immediately sending callbacks to be processed, wait until
after we commit so the dagrun.end_date is guaranteed to be there when
the callback runs.