-
Notifications
You must be signed in to change notification settings - Fork 17.6k
AIP-104: Task Iteration and Dynamic Task Batching #62922
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
dabla
wants to merge
123
commits into
apache:main
Choose a base branch
from
dabla:feature/dynamic-task-iteration
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+4,679
−411
Open
Changes from all commits
Commits
Show all changes
123 commits
Select commit
Hold shift + click to select a range
875d8a5
refactor: Implemented Dynamic Task Iteration
dabla 968aeb6
refactor: Renamed apply_upstream_relationship to register_with_dag
dabla dff7b43
refactor: Fixed MappedOperator serialization tests
dabla 0b62a5b
Merge branch 'main' into feature/dynamic-task-iteration
dabla c1627eb
refactor: Make update of env variable thread-safe in _execute_task me…
dabla ce134e6
refactor: Refactored _run_tasks so it uses a while loop instead of re…
dabla fd63862
Merge branch 'main' into feature/dynamic-task-iteration
dabla 2cd47b7
fix: Preserve partition_size through serialization for partitioned tasks
dabla 995ae33
refactor: Updated Uv.lock file
dabla b88afe9
refactor: Reformatted TestPartitionedOperator
dabla f9753b7
refactor: Fixed assertions for TestPartitionedOperator
dabla 5cfe75e
refactor: Fixed cartesian product issue in iter_values method of Dict…
dabla d5bed18
refactor: Clone the context before each indexed task execution to hav…
dabla 85dee45
refactor: Make sure MappedIterableOperator doesn't retry itself
dabla a07a359
Merge branch 'main' into feature/dynamic-task-iteration
dabla c80e2ae
refactor: Extracted clone_context from IterableOperator as it should …
dabla 50e9ed9
refactor: Fixed timeout resolution on IterableOperator
dabla 705ef4f
refactor: Re-organized imports of expandinput
dabla cea8a25
refactor: Updated uv.lock file
dabla 234d228
Merge branch 'main' into feature/dynamic-task-iteration
dabla 01c4ad8
refactor: If DateTimeTrigger isn't available, then failed tasks won't…
dabla 8204f49
refactor: Reformatted TestCurrentContext
dabla 651238b
refactor: Reformatted TestIterableOperator
dabla 501d058
refactor: Fixed assertions TestExpandInput
dabla 5c8bfc9
refactor: Fixed TestPartitionedOperator
dabla ac7c530
refactor: Updated uv.lock file
dabla 5453f06
Merge branch 'main' into feature/dynamic-task-iteration
dabla 8347e83
refactor: Reformatted tests
dabla d0b9420
refactor: Refactored typing of optional DateTimeTrigger (e.g. from st…
dabla 70cc977
refactor: Added retries setter for MappedIterableOperator to respect …
dabla 1616fb4
refactor: Fixed typing of optional DateTimeTrigger import in Iterable…
dabla b118943
refactor: Improve iterable task execution with AsyncAwareExecutor and…
dabla 39af3b8
Merge branch 'main' into feature/dynamic-task-iteration
dabla 933da36
Merge branch 'main' into feature/dynamic-task-iteration
dabla fcfb3f4
Merge branch 'main' into feature/dynamic-task-iteration
dabla b31cd47
refactor: Remove env variable mutation which isn't necessary anymore …
dabla bbdde66
refactor: Fix executor context manager blocking after map timeout
dabla dd4cbcb
refactor: Reformatted assert in test_execute_task_exports_context_var…
dabla 5345f90
refactor: Do not deepcopy outlet_events in context
dabla f3a14a4
refactor: Fix context vars not accessible during task execution via g…
dabla 20e5e04
Merge branch 'main' into feature/dynamic-task-iteration
dabla eef635c
refactor: Fix context vars not accessible during task execution via g…
dabla f08ab36
Merge branch 'main' into feature/dynamic-task-iteration
dabla 4f588e6
refactor: Renamed PartitionedOperator to BatchedOperator
dabla b77dfc9
Merge branch 'main' into feature/dynamic-task-iteration
dabla 255b4ff
refactor: Make sure task_concurrency is validated and partial_kwargs …
dabla fc1a95b
refactor: Keep track of individual try_number per failed tasks in Ite…
dabla 6698712
refactor: Make sure to also pop task_concurrency beside batch_size wh…
dabla bb5663a
refactor: Reformatted _run_tasks method in IterableOperator
dabla c6f7db7
refactor: IterableOperator must fail-fast on non-recoverable exceptions
dabla 8a03f36
fix: Allow executor to shutdown gracefully without hanging
dabla 2bbc479
refactor: Use suppress instead of try/except in shutdown method of As…
dabla a588578
refactor: Fixed calculation of reschedule_date in IterableOperator
dabla 081e7b5
Merge branch 'main' into feature/dynamic-task-iteration
dabla b0470c5
Merge branch 'main' into feature/dynamic-task-iteration
dabla ded2c74
refactor: Added missing returns_dag_result property delegation on Bat…
dabla 67ad4a3
refactor: Added task_retries property in IterableOperator
dabla a95f52a
refactor: Added batch_size property in MappedOperator and SerializedM…
dabla 403f753
refactor: Added missing returns_dag_result property being passed to I…
dabla 59fb1e0
refactor: Import SkipMixin from sdk
dabla 2dc7d10
refactor: Check of task instance if an IndexedTaskInstance, if not th…
dabla bbb625f
refactor: Reorganized imports in _expand method of BatchedOperator
dabla b750376
refactor: Reformatted test_map_batch_size
dabla 9e4fe20
refactor: Added returns_dag_result property on IterableOperator
dabla 61148cb
refactor: Fixed typing of index for failed tasks dict as dict keys al…
dabla 628a5c0
fix: Make sure the total number_of_tasks is always re-evaluated even …
dabla 14c70ae
refactor: Length of XComIterable is now derived from ExpandInput inst…
dabla f1a085c
refactor: Fixed assertions in test TaskInstances
dabla 69c73d5
refactor: Fixed test_iterate_literal_cross_product as get_parse_time_…
dabla ae00d95
refactor: Defined _length through attrs in ExpandInput
dabla 35a44aa
refactor: Fixed assertions test_map_batch_size
dabla de6032e
Merge branch 'main' into feature/dynamic-task-iteration
dabla b8c0bd7
refactor: Fixed assertions test_map_batch_size
dabla 5d7a705
refactor: Fixed assertions test_execute_task_exports_context_vars_thr…
dabla 8d6d984
refactor: Don't define _length via attrs so it doesn't get serialized.
dabla 225b94f
Update task-sdk/src/airflow/sdk/definitions/_internal/expandinput.py
dabla ca6fe29
refactor: Removed more-itertools dependency from task-sdk
dabla f1167fc
refactor: Updated paths in codeowners for task-sdk related files
dabla 84b0297
refactor: Refactored length calculation of BatchedExpandInput
dabla 7c7ab61
refactor: Refactored set_current_context so it uses ContextVars for t…
dabla ce93835
refactor: Remove _length from attrs in ExpandInput to avoid serializa…
dabla d38e723
refactor: Added missing _resolve_size method in BatchedExpandInput
dabla 7885929
refactor: Fixed logging in set_current_context
dabla 2c78da7
refactor: Added missing task_concurrency parameter in partial interfa…
dabla cf0a71e
Merge branch 'main' into feature/dynamic-task-iteration
dabla a5cae8a
refactor: Removed obsolete unit tests regarding async contextmanager …
dabla eca191a
refactor: Pass the rescheduled_date explicitly to the AirflowReschedu…
dabla 2b87d85
refactor: Removed the dead asyncio.TimeoutError branch — it was never…
dabla 6ec7491
refactor: Removed debug statement with result if raise is None in Ite…
dabla 1c2fb52
refactor: Stream DictOfListsExpandInput.iter_values lazily without bu…
dabla 1acfe8c
refactor: Renamed unused result to _result in _run_tasks of IterableO…
dabla 37988c4
refactor: Fixed assertion of raised NotMapped exception in test_itera…
dabla 579563f
Merge branch 'main' into feature/dynamic-task-iteration
dabla 242c684
refactor: Only allow batched task iteration if batch size is more tha…
dabla 6adf5c3
refactor: Only allow integer for size of BatchedExpandInput and make …
dabla 0cec164
refactor: Added missing setter for returns_dag_result in IterableOper…
dabla eb01d52
refactor: Fixed len calculation for BatchedExpandInput
dabla 189ebb2
refactor: Removed obsolete filter on tasks in execute_failed_tasks me…
dabla a3d6472
refactor: Removed DecoratedDeferredAsyncOperator as deferred sensors …
dabla a4e3671
refactor: Updated docstring of IterableOperator
dabla 9809027
Merge branch 'main' into feature/dynamic-task-iteration
dabla a31540a
refactor: Added note regarding deferred operators in docstring of Ite…
dabla 7097f76
refactor: Added unit test when iterating over deferred operator
dabla 5ea4dcf
Merge branch 'main' into feature/dynamic-task-iteration
dabla 0976ee9
Merge branch 'main' into feature/dynamic-task-iteration
dabla 10cbdf0
Merge branch 'main' into feature/dynamic-task-iteration
dabla 6f3b51b
Merge branch 'main' into feature/dynamic-task-iteration
dabla 864d05b
Clamp get_mapped_ti_count to actual item count when batch_size exceed…
dabla c0bdbd9
Fix empty-message failure when a sub-task raises a non-Exception Base…
dabla 3529362
Document pool accounting limitation in IterableOperator with tracking…
dabla 0fa52f6
Document crash-recovery limitation in IterableOperator — idempotent w…
dabla f5548c6
Merge branch 'main' into feature/dynamic-task-iteration
dabla 2796b63
Avoid unnecessary deep copies of inlet_events and dag_run in clone_co…
dabla ab2e2be
Document N round-trip limitation in XComIterable slice fetch
dabla 0b2e7eb
Fix OutletEventAccessors race condition that silently drops sub-task …
dabla 833789a
Fire lifecycle callbacks for indexed sub-tasks in IterableOperator
dabla 7dba2c7
Stop passing execution_timeout as the cumulative map deadline in Iter…
dabla 68562b2
Reject reschedule-mode sensors in IterableOperator with a clear error
dabla 532e5d4
Merge branch 'main' into feature/dynamic-task-iteration
dabla 9905a1c
Update uv.lock
dabla ea9a5ec
Merge branch 'main' into feature/dynamic-task-iteration
dabla 41e67f8
Reformatted executor modules
dabla c8d061f
Merge branch 'main' into feature/dynamic-task-iteration
dabla File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
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
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
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
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
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
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
Oops, something went wrong.
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.