-
Notifications
You must be signed in to change notification settings - Fork 1.7k
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
Inconsistent ExitHandler behavior #1899
Labels
Comments
This is indeed an issue - |
Fixed by #2411 |
magdalenakuhn17
pushed a commit
to magdalenakuhn17/pipelines
that referenced
this issue
Oct 22, 2023
* Add phase 1 implementation of new storage spec Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * Storagespec refactoring * Some refactoring - Changed GetStorageURI func to always return the storageUri field and not impute from StorageSpec information - Instead have the addStorageSpecAnnotations func set the storage uri annotation if a path is specified - Deduplicated logic in predictor.go which sets the storage uri annotation from explicit storageUri field, and fail if the annotation is already set (i.e. if both storage.path and storageUri are specified) - Renamed CreateStorageSpecSecretVolumeAndEnv func to CreateStorageSpecSecretEnvs and refactored the logic to fail if an explicit secret storageKey is not found, but not if it's a default one - Renamed default storage keys to look up to "default" and "default_s3" depending on whether storage type information was provided - Moved some string names to constants - Removed now-not-applicable predictor_test.go and explainer_test.go - Extended tests in storage_initializer_injector_test.go to cover StorageSpec cases * Also check for existence of StorageSpec in IsMMSPredictor func Co-authored-by: Nick Hill <nickhill@us.ibm.com> Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * update python server with the new env variables Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * Update example due to the recent sklearn library upgrade Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * change static int to compute from variable length Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * abstract predictor and explainer validate function. Also add storageSpec validation Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * remove reduntant storageSpec check in the service_account_credentials.go Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * Add aws anonymous mode flog Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * generate python sdk and add storagespec s3 e2e test Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * update ci overlays Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * Proxy minio service to CI client. Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * move minio model init to a k8s job Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * deploy minio job with permitted ns Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * Add non-codegen import Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> * clean up new merges Signed-off-by: tomcli <tommy.chaoping.li@ibm.com> Co-authored-by: Nick Hill <nickhill@us.ibm.com>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is an expansion on #999.
What happened:
It appears currently the only valid way to create an
ExitHandler
is usingdsl.ContainerOp
, withis_exit_handler
set toTrue
. When the pipeline runs, duplicate nodes are spawned at the beginning of the workflow and execute the exit handler logic immediately. Attempting to setis_exit_handler
manually on an ad-hoc component created withfunc_to_container_op
, or one loaded viaload_component[*]
, appears to do nothing.What did you expect to happen:
Regardless of where the component came from, marking it as an exit handler should inform Kubeflow the component is an exit handler, and said handler should only be invoked once upon exiting the pipeline.
What steps did you take:
func_to_container_op
exit handlerThis design produces the following result:

load_component_from_text
exit handlerThis design produces the following result:

pure
dsl.ContainerOp
exit handlerThis design correctly produces the following result:

Anything else you would like to add:
Ideally this boolean value would be supplied with all calls that return a component factory function (to avoid needing to set it explicitly on the resulting operation).
The text was updated successfully, but these errors were encountered: