-
Notifications
You must be signed in to change notification settings - Fork 16.4k
fix(serialized_objects): try to infer data interval if it's none #51530
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
5ac5497 to
95f88bf
Compare
95f88bf to
bb301ae
Compare
uranusjr
reviewed
Jun 11, 2025
ab438b3 to
51c10a0
Compare
uranusjr
reviewed
Jun 15, 2025
d7c591d to
c0bf347
Compare
it handles pre AIP-39 dag runs
c0bf347 to
987f2c9
Compare
987f2c9 to
d79418c
Compare
uranusjr
approved these changes
Jun 17, 2025
Backport failed to create: v3-0-test. View the failure log Run details
You can attempt to backport this manually by running: cherry_picker 4f26e45 v3-0-testThis should apply the commit to the v3-0-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continue |
RoyLee1224
pushed a commit
to RoyLee1224/airflow
that referenced
this pull request
Jun 17, 2025
…che#51530) * fix(serialized_objects): try to infer data interval if it's none it handles pre AIP-39 dag runs * test(serialization_objects): add test case test_serialized_dag_get_run_data_interval * fix(serialized_objects): do not infer data interval if the logical_date is None * feat(serialized_objects): allow data_interval to be none
Lee-W
added a commit
to astronomer/airflow
that referenced
this pull request
Jun 19, 2025
…'s none (apache#51530) * fix(serialized_objects): try to infer data interval if it's none it handles pre AIP-39 dag runs * test(serialization_objects): add test case test_serialized_dag_get_run_data_interval * fix(serialized_objects): do not infer data interval if the logical_date is None * feat(serialized_objects): allow data_interval to be none (cherry picked from commit 4f26e45) Co-authored-by: Wei Lee <weilee.rx@gmail.com>
potiuk
pushed a commit
that referenced
this pull request
Jun 21, 2025
…'s none (#51530) (#51913) * fix(serialized_objects): try to infer data interval if it's none it handles pre AIP-39 dag runs * test(serialization_objects): add test case test_serialized_dag_get_run_data_interval * fix(serialized_objects): do not infer data interval if the logical_date is None * feat(serialized_objects): allow data_interval to be none (cherry picked from commit 4f26e45)
RoyLee1224
pushed a commit
to RoyLee1224/airflow
that referenced
this pull request
Jun 21, 2025
…che#51530) * fix(serialized_objects): try to infer data interval if it's none it handles pre AIP-39 dag runs * test(serialization_objects): add test case test_serialized_dag_get_run_data_interval * fix(serialized_objects): do not infer data interval if the logical_date is None * feat(serialized_objects): allow data_interval to be none
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Why
TLDR: fix serialization for pre AIP-39 dag run history
The discussion in
airflow/airflow-core/src/airflow/serialization/serialized_objects.py
Lines 2170 to 2173 in d2c9563
LazyDeserializedDAG.get_run_data_intervalraises the question of whether we should useinfer_automated_data_intervalwhendata_intervalisNone. After testing, I believe this is necessary to avoid forcing users to purge their pre-AIP-39 history.Per
airflow/airflow-core/src/airflow/models/dag.py
Lines 538 to 540 in d2c9563
infer_automated_data_intervalfor custom intervals, comments suggest we shouldn't modify this function as stated #32074, but rather calltimetable.infer_manual_data_interval(run_after=logical_date)which is extended and fixed in #32118.What
Fallback to
timetable.infer_manual_data_interval(run_after=logical_date)if data_interval is None when deserialize a dag^ Add meaningful description above
Read the Pull Request Guidelines for more information.
In case of fundamental code changes, an Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in a newsfragment file, named
{pr_number}.significant.rstor{issue_number}.significant.rst, in airflow-core/newsfragments.