Skip to content
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

Restore call convention compatibility in get_model #304

Merged
merged 1 commit into from
Jul 3, 2020
Merged

Conversation

tcare
Copy link
Contributor

@tcare tcare commented Jul 3, 2020

A bug surfaced where first time evaluation of a model fails due to the Model constructor throwing if the model does not exist.

Looking deeper, we see that most calls to get_model expect a possible None response and check at the call site. Unfortunately we get the same WebserviceException class for a model not being found as we do a REST error or similar.

This change is a stopgap mitigation to restore compatibility with the existing callers, and compromises by allowing the model version dependent behavior to continue passing on exceptions.

In a future follow up we should settle on a convention and allow version checks to propagate failure while still giving the possibility for handling a service exception in the caller.

A bug surfaced where first time evaluation of a model fails due to the
Model constructor throwing if the model does not exist.

Looking deeper, we see that most calls to get_model expect a possible
None response and check at the call site. Unfortunately we get the same
WebserviceException class for a model not being found as we do a REST
error or similar.

This change is a stopgap mitigation to restore compatibility with the
existing callers, and compromises by allowing the model version
dependent behavior to continue passing on exceptions.

In a future follow up we should settle on a convention and allow version
checks to propagate failure while still giving the possibility for
handling a service exception in the caller.
@tcare tcare requested review from j-so, dtzar and sabrinasmai July 3, 2020 05:54
@tcare tcare marked this pull request as ready for review July 3, 2020 05:55
Comment on lines +62 to +65
# TODO(tcare): Finding a specific version currently expects exceptions
# to propagate in the case we can't find the model. This call may
# result in a WebserviceException that may or may not be due to the
# model not existing.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Deployment isn't using this method - why WebserviceException? It should be just the training and batch scoring pipeline that uses this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nevermind - I see what you're saying. Can you make a new issue for this?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Will do :)

@j-so
Copy link
Contributor

j-so commented Jul 3, 2020

LGTM - can you run the batch scoring pipeline to make sure this doesn't affect that (it shouldn't, but just to be sure)?

@tcare tcare merged commit 0906986 into master Jul 3, 2020
@tcare tcare deleted the tcare/getmodel branch July 3, 2020 23:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants