UI: Filter task instances by rendered map index#66008
Conversation
1ddd474 to
8658f05
Compare
fbc83c1 to
7c5350e
Compare
|
Similarly to the 'map_index' this is an But since it's a string it probably makes more sense. Let me update that, it was my first draft but moved away from it for consistency. |
7c5350e to
d00d73b
Compare
|
Merge conflicts and MySQL test failure |
|
@pierrejeambrun can you resolve conflicts and look into failing test? |
d00d73b to
232d27c
Compare
Adds 'rendered_map_index_pattern' (substring match) and 'rendered_map_index_prefix_pattern' (index-friendly prefix match) query parameters to the public listMapped and listTaskInstances endpoints, mirroring the existing 'operator_name', 'pool_name', etc. pattern/prefix-pattern pairs. The UI surfaces this as a search input in the TaskInstances filter bar — prefix search by default, with an 'advanced search' toggle to switch to substring match. The TaskInstance.rendered_map_index hybrid_property now has a SQL-level .expression so queries see the same value as the API response: the explicit _rendered_map_index when set, otherwise str(map_index). Without this, filtering on rendered map index silently dropped rows whose _rendered_map_index column is NULL but whose displayed value is the numeric map index. Closes apache#51820.
63cd8d5 to
da85d11
Compare
58b2cbe to
b6b61af
Compare
Backport failed to create: v3-2-test. View the failure log Run detailsNote: As of Merging PRs targeted for Airflow 3.X In matter of doubt please ask in #release-management Slack channel.
You can attempt to backport this manually by running: cherry_picker 73a6641 v3-2-testThis should apply the commit to the v3-2-test branch and leave the commit in conflict state marking After you have resolved the conflicts, you can continue the backport process by running: cherry_picker --continueIf you don't have cherry-picker installed, see the installation guide. |
|
@pierrejeambrun could help with manual backport? |
* UI: Search task instances by rendered map index Adds 'rendered_map_index_pattern' (substring match) and 'rendered_map_index_prefix_pattern' (index-friendly prefix match) query parameters to the public listMapped and listTaskInstances endpoints, mirroring the existing 'operator_name', 'pool_name', etc. pattern/prefix-pattern pairs. The UI surfaces this as a search input in the TaskInstances filter bar — prefix search by default, with an 'advanced search' toggle to switch to substring match. The TaskInstance.rendered_map_index hybrid_property now has a SQL-level .expression so queries see the same value as the API response: the explicit _rendered_map_index when set, otherwise str(map_index). Without this, filtering on rendered map index silently dropped rows whose _rendered_map_index column is NULL but whose displayed value is the numeric map index. Closes #51820. * Fix rebase linting * Fix mysql tests * Fix conflicts --------- (cherry picked from commit 73a6641) Co-authored-by: Brent Bovenzi <brent.bovenzi@gmail.com> Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
* UI: Search task instances by rendered map index Adds 'rendered_map_index_pattern' (substring match) and 'rendered_map_index_prefix_pattern' (index-friendly prefix match) query parameters to the public listMapped and listTaskInstances endpoints, mirroring the existing 'operator_name', 'pool_name', etc. pattern/prefix-pattern pairs. The UI surfaces this as a search input in the TaskInstances filter bar — prefix search by default, with an 'advanced search' toggle to switch to substring match. The TaskInstance.rendered_map_index hybrid_property now has a SQL-level .expression so queries see the same value as the API response: the explicit _rendered_map_index when set, otherwise str(map_index). Without this, filtering on rendered map index silently dropped rows whose _rendered_map_index column is NULL but whose displayed value is the numeric map index. Closes #51820. * Fix rebase linting * Fix mysql tests * Fix conflicts --------- (cherry picked from commit 73a6641) Co-authored-by: Brent Bovenzi <brent.bovenzi@gmail.com> Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
* UI: Search task instances by rendered map index Adds 'rendered_map_index_pattern' (substring match) and 'rendered_map_index_prefix_pattern' (index-friendly prefix match) query parameters to the public listMapped and listTaskInstances endpoints, mirroring the existing 'operator_name', 'pool_name', etc. pattern/prefix-pattern pairs. The UI surfaces this as a search input in the TaskInstances filter bar — prefix search by default, with an 'advanced search' toggle to switch to substring match. The TaskInstance.rendered_map_index hybrid_property now has a SQL-level .expression so queries see the same value as the API response: the explicit _rendered_map_index when set, otherwise str(map_index). Without this, filtering on rendered map index silently dropped rows whose _rendered_map_index column is NULL but whose displayed value is the numeric map index. Closes #51820. * Fix rebase linting * Fix mysql tests * Fix conflicts --------- (cherry picked from commit 73a6641) Co-authored-by: Brent Bovenzi <brent.bovenzi@gmail.com> Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>
* UI: Search task instances by rendered map index Adds 'rendered_map_index_pattern' (substring match) and 'rendered_map_index_prefix_pattern' (index-friendly prefix match) query parameters to the public listMapped and listTaskInstances endpoints, mirroring the existing 'operator_name', 'pool_name', etc. pattern/prefix-pattern pairs. The UI surfaces this as a search input in the TaskInstances filter bar — prefix search by default, with an 'advanced search' toggle to switch to substring match. The TaskInstance.rendered_map_index hybrid_property now has a SQL-level .expression so queries see the same value as the API response: the explicit _rendered_map_index when set, otherwise str(map_index). Without this, filtering on rendered map index silently dropped rows whose _rendered_map_index column is NULL but whose displayed value is the numeric map index. Closes #51820. * Fix rebase linting * Fix mysql tests * Fix conflicts --------- (cherry picked from commit 73a6641) Co-authored-by: Brent Bovenzi <brent.bovenzi@gmail.com> Co-authored-by: Rahul Vats <43964496+vatsrahul1001@users.noreply.github.com>


Summary
Closes #51820.
Adds a
rendered_map_indexexact-match filter (list-of-strings,ANY_EQUAL) to the publiclistMappedandlistTaskInstancesendpoints, mirroring the existingmap_indexfilter, and surfaces it in the Task Instances filter bar in the UI. Users can now find a dynamically mapped task by the named mapping that's already shown in the column — no more "search by what you see" gap.Test plan
pytest test_task_instances.py -k rendered_map_index_filter)?rendered_map_index=1now returns the row whose_rendered_map_indexis NULL.Screen.Recording.2026-04-30.at.16.02.11.mov
Was generative AI tooling used to co-author this PR?
Generated-by: Claude Code (Opus 4.7) following the guidelines