Add cursor based pagination for get_dag_runs endpoint#65604
Merged
pierrejeambrun merged 3 commits intoApr 23, 2026
Conversation
1b8109c to
b0acd8e
Compare
Member
Author
|
Needs more testing and iterations. |
Add cursor-based (keyset) pagination as an alternative to offset-based pagination on the get_dag_runs endpoint. Offset pagination remains the default and is not deprecated. Mirrors the pattern introduced for get_task_instances in apache#64845. - Response schema adds next_cursor / previous_cursor and makes total_entries optional (populated only for offset pagination). - Fetch limit+1 rows to detect last page and return next_cursor=null when no more results exist. - Rewire the DagRuns listing page to use cursor pagination via the DataTable's cursorPagination prop, which eliminates the COUNT(*) query for large datasets.
b0acd8e to
22294eb
Compare
0b36c05 to
22294eb
Compare
bbovenzi
approved these changes
Apr 23, 2026
Contributor
Backport successfully created: v3-2-testNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
|
potiuk
pushed a commit
that referenced
this pull request
Apr 26, 2026
…5604) * Add cursor based pagination for get_dag_runs endpoint Add cursor-based (keyset) pagination as an alternative to offset-based pagination on the get_dag_runs endpoint. Offset pagination remains the default and is not deprecated. Mirrors the pattern introduced for get_task_instances in #64845. - Response schema adds next_cursor / previous_cursor and makes total_entries optional (populated only for offset pagination). - Fetch limit+1 rows to detect last page and return next_cursor=null when no more results exist. - Rewire the DagRuns listing page to use cursor pagination via the DataTable's cursorPagination prop, which eliminates the COUNT(*) query for large datasets. * Small Adjustments * Small Adjustments (cherry picked from commit c57abb9) Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
potiuk
pushed a commit
that referenced
this pull request
Apr 26, 2026
…5604) (#65746) * Add cursor based pagination for get_dag_runs endpoint Add cursor-based (keyset) pagination as an alternative to offset-based pagination on the get_dag_runs endpoint. Offset pagination remains the default and is not deprecated. Mirrors the pattern introduced for get_task_instances in #64845. - Response schema adds next_cursor / previous_cursor and makes total_entries optional (populated only for offset pagination). - Fetch limit+1 rows to detect last page and return next_cursor=null when no more results exist. - Rewire the DagRuns listing page to use cursor pagination via the DataTable's cursorPagination prop, which eliminates the COUNT(*) query for large datasets. * Small Adjustments * Small Adjustments (cherry picked from commit c57abb9) Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
vatsrahul1001
pushed a commit
that referenced
this pull request
Apr 27, 2026
…5604) (#65746) * Add cursor based pagination for get_dag_runs endpoint Add cursor-based (keyset) pagination as an alternative to offset-based pagination on the get_dag_runs endpoint. Offset pagination remains the default and is not deprecated. Mirrors the pattern introduced for get_task_instances in #64845. - Response schema adds next_cursor / previous_cursor and makes total_entries optional (populated only for offset pagination). - Fetch limit+1 rows to detect last page and return next_cursor=null when no more results exist. - Rewire the DagRuns listing page to use cursor pagination via the DataTable's cursorPagination prop, which eliminates the COUNT(*) query for large datasets. * Small Adjustments * Small Adjustments (cherry picked from commit c57abb9) Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
vatsrahul1001
pushed a commit
that referenced
this pull request
May 20, 2026
…5604) (#65746) * Add cursor based pagination for get_dag_runs endpoint Add cursor-based (keyset) pagination as an alternative to offset-based pagination on the get_dag_runs endpoint. Offset pagination remains the default and is not deprecated. Mirrors the pattern introduced for get_task_instances in #64845. - Response schema adds next_cursor / previous_cursor and makes total_entries optional (populated only for offset pagination). - Fetch limit+1 rows to detect last page and return next_cursor=null when no more results exist. - Rewire the DagRuns listing page to use cursor pagination via the DataTable's cursorPagination prop, which eliminates the COUNT(*) query for large datasets. * Small Adjustments * Small Adjustments (cherry picked from commit c57abb9) Co-authored-by: Pierre Jeambrun <pierrejbrun@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Add cursor-based (keyset) pagination as an alternative to offset-based pagination on the
get_dag_runsendpoint. Offset pagination remains the default and is not deprecated. Mirrors the pattern introduced forget_task_instancesin #64845.next_cursor/previous_cursorand makestotal_entriesoptional (populated only for offset pagination).limit+1rows to detect the last page and returnnext_cursor=nullwhen no more results exist.DataTable'scursorPaginationprop, which eliminates theCOUNT(*)query for large datasets.related: #64845
Screen.Recording.2026-04-22.at.14.11.41.mov
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.7 1M context) following the guidelines