You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
FeatureStore instantiation fails after update to 0.41.3 #4715
We have started using feast (v0.40.0) to create a feature registry on S3. In a script to fetch data from the offline store the feature store is instantiated with configuration from the default config file. Afterwards, data can be fetched in the script. The registry is supposed to be changed only by dedicated users.
Current Behavior
The script fails with AccessDenied error because it tries to change the registry on S3 but there are no sufficient access credentials configured.
I do not understand the complete logic but why do we make a commit to the registry when we only want to use the existing registry? Should we have a flag here to disable it in cases where we only want to read the registry, like fetching data or feast plan?
Steps to reproduce
Call fs = FeatureStore() with existing feature store config and S3 registry without configuring PutObject policies for current user.
I wasn't aware of the use case. We can change to as @dmartinol mentioned. But we are also doing the _sync_feast_metadata_to_projects_table to Projects tables during the __init__(). We may need to control that for reader roles. It won't commit to registry if we change to as mentioned. but its just in cache object. Will be attempted to commit during the registry apply or delete operations. It's definitely not good. But doesn't lead to problems.
Activity
franciscojavierarceo commentedon Oct 29, 2024
@EXPEbdodla @tokoko @HaoXuAI @dmartinol
dmartinol commentedon Oct 29, 2024
Agree, probably the only one reason to
commitis when the registry it's not there, so I would change it to:If the user does not have sufficient permissions, the operation will fail, but this is to be expected.
EXPEbdodla commentedon Oct 29, 2024
I wasn't aware of the use case. We can change to as @dmartinol mentioned. But we are also doing the
_sync_feast_metadata_to_projects_tableto Projects tables during the__init__(). We may need to control that for reader roles. It won't commit to registry if we change to as mentioned. but its just in cache object. Will be attempted to commit during the registry apply or delete operations. It's definitely not good. But doesn't lead to problems.Is there any way to add a test for this?
dmartinol commentedon Oct 29, 2024
I would mock
update_registry_protoand raise the error.franciscojavierarceo commentedon Oct 30, 2024
@EXPEbdodla do you mind you cutting a PR? 🙏
EXPEbdodla commentedon Oct 30, 2024
Added the code fix. I'll add the test case in the next PR to support this use case going further.
nanohanno commentedon Nov 4, 2024
Thanks for the quick response and the fix. Could we have a patch release soon to be able to use the last updates to the library?