-
Notifications
You must be signed in to change notification settings - Fork 995
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
feat: Added Project object to Feast Objects #4475
Conversation
Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com> Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com>
091932a
to
7aeeeac
Compare
sdk/python/feast/errors.py
Outdated
@@ -477,6 +477,16 @@ def __init__(self, name, project=None): | |||
super().__init__(f"Permission {name} does not exist") | |||
|
|||
|
|||
class ProjectNotFoundException(Exception): |
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.
Why are both of these necessary? what's the difference. btw, All Feast exceptoins should extend FeastError
.
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.
@tokoko I noticed the same while doing the latest refactory but I didn't want to extend the scope of changes too much. Looks like other duplications are there like PermissionObjectNotFoundException
and DataSourceObjectNotFoundException
. Can we remove all of them (in a dedicated ticket maybe)?
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'll extend the FeastError for ProjectNotFoundException.
Reasons for having two exceptions: Just followed the current convention.
ProjectNotFoundException
--> Exception thrown when the DELETE
calls are made and project is not found.
ProjectObjectNotFoundException
--> Exception thrown when GET
calls are made and project is not found. _get_object
method passes two args (name, project) when object is not found. I don't want to add another if else logic to filter out project.
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.
@dmartinol yeah, this just looks weird. Probably best to defer removal until after this is merged, though.. just to avoid a messy rebase
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.
in case, remember an item in the next Release Notes to remind clients to replace any try/except that may have used those duplicate errors.
FYI @dmartinol |
Fixed Integration tests. Removed test_remote_online_store.py apply step because Client Store Registry Apply brings back the server and client registry store states to the contents in the repository (Repository missing Permissions. Permissions are applied through store.apply() method). Seems like bug in previous versions which let it work. Did some refactoring to registry so it's showing up as error now. |
Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com>
3031245
to
28e11eb
Compare
Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com>
4356a19
to
c81cebd
Compare
@tokoko Please take a look at this PR when you get a chance. |
looks good, can you also add usage example in quickstart, just an example of creating a project and specifying some tags. |
Signed-off-by: Bhargav Dodla <bdodla@expediagroup.com>
37ea174
to
21bc5a9
Compare
Updated quick start document and |
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, thanks
What this PR does / why we need it:
purge_feast_metadata
to stop usingfeast_metadata
table because list_project_metadata may be used by clients. Instead of deleting that, added a configuration to stop populating table and switch to projects specific methods._prepare_registry_for_changes
and_get_registry_proto
methods in registry.py. Refactored proto() methods in sql.py and snowflake.py.Which issue(s) this PR fixes:
Misc