Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr
, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); Remove align param from iter dagrun infos by dstandish · Pull Request #61420 · apache/airflow · GitHub
Skip to content

Remove align param from iter dagrun infos - #61420

Merged
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos
Feb 4, 2026
Merged

Remove align param from iter dagrun infos#61420
dstandish merged 3 commits into
apache:mainfrom
astronomer:remove-align-param-from-iter-dagrun-infos

Conversation

@dstandish

Copy link
Copy Markdown
Contributor

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

I don't think this param does anything. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed. At best it seems it is called in an extremely odd and impossible to understand edge case. But let's see what the tests say.

@uranusjruranusjr left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The argument only matters if start_date is not aligned with the schedule, but in set_state it always is (line 173) so the argument should make no difference. I think this should be fine.

@dstandish

dstandish commented Feb 4, 2026

Copy link
Copy Markdown
ContributorAuthor

ok so re your comment, re line 173

just thinking it through .... i looked and ....

current logical date would be from the run id you supplied when calling

it appears current_logical_date is a logical date but, does it matter if the run id passed here is a manual run? (in which case the logical date might be not driven by the timetable).

i'm just not sure that it really matters in any circumstance

so the scenario here is like, manual run, and getting the future (or past) runs relative to that manual (non-aligned) run right?

basicallly where the rubber meets the road here is this block

 dates = [
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
]
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)

am not sure why we even bother to iter the run infos. why do we not just query based on date range

we iter the run infos to identify dates.

then we perform lookup for those specific dates.

why not just query all the runs in the range?

i feel like if we made that change (just query the runs) no one would ever notice or care
and if anyone ever did notice or care, their feelings would probably be positive

@dstandish
dstandishforce-pushed the remove-align-param-from-iter-dagrun-infos branch from c7c2295 to 333da4fCompareFebruary 4, 2026 11:46
@dstandish

Copy link
Copy Markdown
ContributorAuthor

so, i decided to go with this which seems it should do basically the same thing

 dates = {current_logical_date}
dates.update(
info.logical_date
for info in dag.iter_dagrun_infos_between(start_date, end_date)
if info.logical_date # todo: AIP-76 this will not find anything where logical date is null
)
run_ids = [dr.run_id for dr in DagRun.find(dag_id=dag.dag_id, logical_date=dates, session=session)]

this feels like it will produce same result.

basically, if the current_logical_date is not aligned, then it would have faked a data interval for that logical date so that it would end up in the dates list, which would then be passed to DagRun.find, so that the run_id passed in originally would be included.

so now i just ensure that no matter what the current logical date ends up included in the dates list, so the passed-in run id will always be included in the output. so i think we're good here.

@dstandish
dstandish merged commit 7edec78 into apache:mainFeb 4, 2026
129 checks passed
@dstandish
dstandish deleted the remove-align-param-from-iter-dagrun-infos branch February 4, 2026 16:10
dstandish added a commit that referenced this pull request Feb 5, 2026
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in #61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Alok-kumar-priyadarshi pushed a commit to Alok-kumar-priyadarshi/airflow that referenced this pull request Feb 5, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
jhgoebbert pushed a commit to jhgoebbert/airflow_Owen-CH-Leung that referenced this pull request Feb 8, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ratasa143 pushed a commit to Ratasa143/airflow that referenced this pull request Feb 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
choo121600 pushed a commit to choo121600/airflow that referenced this pull request Feb 22, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Subham-KRLX pushed a commit to Subham-KRLX/airflow that referenced this pull request Mar 4, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
dominikhei pushed a commit to dominikhei/airflow that referenced this pull request Mar 11, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
Ankurdeewan pushed a commit to Ankurdeewan/airflow that referenced this pull request Mar 15, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
This param does not appear to be needed. It's only set to False when called from within get_run_ids, within set_state, which is only called when marking tasks as failed etc, and only under certain conditions, when clearing "past" or "future" runs. I think it only would make a difference if the object run was manually triggered thus did not align with the timetable. We can handle that case by just including the object run in the returned run ids.
radhwene pushed a commit to radhwene/airflow that referenced this pull request Mar 21, 2026
…1465)
This is so that it will work for new timetables which implement next_dagrun_info_v2 (which receives DagRunInfo objects instead of data intervals.
I also remove logic that is no longer needed and simplify the function. Some of the logic is leftover from when the align parameter was there (removed in apache#61420). Without it, the logic can be simplified and condensed, e.g. by not getting an initial info before starting the loop.
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:APIAirflow's REST/HTTP APIarea:serialization

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

@dstandish@uranusjr