-
Notifications
You must be signed in to change notification settings - Fork 1.6k
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
fix(sdk): Throw 'exit_task cannot depend on any other tasks.' error when an ExitHandler has a parameter dependent on other task #11005
Conversation
Skipping CI for Draft Pull Request. |
d7006ab
to
efedc3b
Compare
sdk/python/kfp/dsl/tasks_group.py
Outdated
return False | ||
|
||
return any( | ||
type(task_input) is PipelineParameterChannel |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i believe it's more pythontic to use isinstance
here instead of manually checking type
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It depends. type
will assert without inheritance. If this is the case, then it is fine.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
type
will assert without inheritance.
That said, I think we need isinstance
here.
@hbelmiro: The
The following commands are available to trigger optional jobs:
Use
In response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/retest-required |
@hbelmiro: The following tests failed, say
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. I understand the commands that are listed here. |
@gmfrasca @diegolovison can you guys take a second look, please? |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
/approve
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: chensun The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
…n ExitHandler has a parameter dependent on other task Signed-off-by: hbelmiro <helber.belmiro@gmail.com>
/lgtm |
/unhold The depending PRs were merged. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
/lgtm
Due to #11005 (comment), depends on:
Resolves #10187
The issue happens when an ExitHandler has a parameter that depends on other task.
If we change that line to:
The pipeline will compile.
This PR aims to show the proper error message when that happens.
This may not be the right approach. I changed the code to check the ExitHandler inputs. It seems to me that
pipelines/sdk/python/kfp/dsl/structures.py
Line 417 in f328f0b
test_step_a
though. But I'm not sure that attribute actually means what I think it does.Checklist: