Skip to content

Conversation

@tcare
Copy link
Contributor

@tcaretcare 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.
@tcaretcare requested review from dtzar, j-so and sabrinasmaiJuly 3, 2020 05:54
@tcaretcare marked this pull request as ready for review July 3, 2020 05:55
j-so
j-so approved these changes Jul 3, 2020
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
ContributorAuthor

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)?

@tcaretcare merged commit 0906986 into masterJul 3, 2020
@tcaretcare deleted the tcare/getmodel branch July 3, 2020 23:16
Sign up for freeto 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.

3 participants

@tcare@j-so