feat: Replace Identity Comparison with Equality Comparison in parse_repo
#3626
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:
This Pull Request updates the parse_repo function in
repo_operations.py
, transitioning from the identity operatoris
to the equality operator==
for object comparisons.Previously, the
parse_repo
function utilized theis
operator to compare Feast objects such as data sources, feature views, and entities. Theis
operator compares if two variables point to the exact same object in memory. However, this approach can be overly restrictive.When Feast objects are imported across different parts of the repository definition files, they may not share the same memory address, even though they represent the same logical object. This discrepancy led to erroneous distinctions between objects that should have been recognized as identical.
To address this, I've replaced the
is
operator with==
. The==
operator evaluates whether two variables are equal in value, independent of their memory addresses. This adjustment enhances the flexibility and accuracy of object comparison withinparse_repo
, permitting objects imported across the repository to be correctly recognized as equal when their values match.Which issue(s) this PR fixes:
Fixes #3312