fix: Check for snowflake functions when setting up materialization engine #4456
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
What this PR does / why we need it:
When running
feast apply
using the snowflake materialization engine, feast only checks if the stage in snowflake exists and assumes the functions have been created. This allows a case where if anything goes wrong during function creation, such as permission issues, a stage can be created while the functions are not. Following attempts tofeast apply
see the created stage and tell the user that the functions exist without creating them. This leads to materialization on snowflake to fail down the line due to missing functions.This PR aims to change the apply logic to instead check for snowflake functions before deciding if action is required.
Which issue(s) this PR fixes:
Misc
A current workaround for this is to delete the stage in Snowflake before running the next
feast apply
.