-
Notifications
You must be signed in to change notification settings - Fork 670
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
Bug/abort map task subtasks #4506
Conversation
Thank you for opening this pull request! 🙌 These tips will help get your PR across the finish line:
|
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #4506 +/- ##
==========================================
- Coverage 59.00% 58.97% -0.04%
==========================================
Files 621 621
Lines 52498 52568 +70
==========================================
+ Hits 30979 31000 +21
- Misses 19054 19093 +39
- Partials 2465 2475 +10
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
cb9c766
to
fb4dce2
Compare
A very high-level thought here. And apologies for steering in the wrong direction, these changes (ie. eventing) were much more involved that I anticipated. Does it make more sense to add another state to maptask for something like |
Good call out - definitely agree that we should minimize changes outside of the array plugin. I also think leaving terminal states as final is probably a safer design decision. Aborting the subtasks while the task is still running would remove the added eventing in the abort function and remove the change in FlyteAdmin enabling the writes on already terminal phases. I think we will still need to update ExternalResourceInfo to persist subtask state correctly from running to aborted. I'll try to figure another way to persist this state, but I think we should show the correct state for subtasks given they are aborted. |
@hamersaw to persist subtask abort states when a map task is manually terminated, I think we would need to keep the added buffered task eventing in the abort function since propellor won't go through the plugin Handle method. We can avoid the changes to flyteadmin by having the recorded phaseinfo set to running & bumping phase version. This would work when a maptask is manually terminated and on terminating subtasks when the task is still running. Have this working locally but need to clean up some of the eventing/phase versioning to minimize debugger output on manual terminations. Will push those changes up tomorrow. |
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
4656256
to
ccd31ce
Compare
* using Abort phase and cleaning up best-effort Signed-off-by: Daniel Rammer <[email protected]> * removed phase updates on Finalize Signed-off-by: Daniel Rammer <[email protected]> --------- Signed-off-by: Daniel Rammer <[email protected]>
Signed-off-by: Paul Dittamo <[email protected]>
Signed-off-by: Daniel Rammer <[email protected]>
Tracking issue
Currently, when a single MapTask subtask fails the other subtasks are not aborted as the task has already been set to a terminal state.
Why are the changes needed?
It is expected behavior for subtasks to abort on a single subtask failure for maptasks.
Docs link
Describe your changes
Check all the applicable boxes
Setup Process
Built locally w/ flyte-single-binary-local.yaml
Screenshots
Note to reviewers
Related PRs