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
Bug: _materialize_odfv uses entity names instead of join keys #5965
FeatureStore._materialize_odfv uses source_fv.entities (entity names) instead of source_fv.join_keys (join key column names) when building BigQuery queries. This causes materialization to fail when an entity's name differs from its join key.
Line 1354: all_join_keys.update(source_fv.entities) → should be source_fv.join_keys
Line 1394: join_key_columns=source_fv.entities → should be source_fv.join_keys
FeatureView.entities returns [e.name for e in entities] (entity names), while FeatureView.join_keys returns [e.name for e in self.entity_columns] (actual column names). When these differ, the query fails.
Note: regular materialize_single_feature_view does not have this bug because it resolves join keys correctly through the provider layer.
Suggested Fix
for source_fv in source_fvs:
- all_join_keys.update(source_fv.entities)+ all_join_keys.update(source_fv.join_keys)
if source_fv.batch_source:
entity_timestamp_col_names.add(source_fv.batch_source.timestamp_field)
job = provider.offline_store.pull_latest_from_table_or_query(
config=self.config,
data_source=source_fv.batch_source,
- join_key_columns=source_fv.entities,+ join_key_columns=source_fv.join_keys,
feature_name_columns=[f.name for f in source_fv.features],
Hey, I'd like to fix this. It's a clear bug in _materialize_odfv where entity names are being used instead of join keys, causing BigQuery SQL to fail when they differ.
Proposed Solution:
Update sdk/python/feast/feature_store.py to use source_fv.join_keys on lines 1354 and 1394.
Add a unit test with an entity where name != join_key to prevent future regressions.
Activity
anshishrivastava commentedon Feb 25, 2026
Hey, I'd like to fix this. It's a clear bug in
_materialize_odfvwhere entity names are being used instead of join keys, causing BigQuery SQL to fail when they differ.Proposed Solution:
sdk/python/feast/feature_store.pyto usesource_fv.join_keyson lines 1354 and 1394.name != join_keyto prevent future regressions.Mind assigning this to me? @franciscojavierarceo @ntkathole
anshishrivastava commentedon Jul 24, 2026
PR for the fix - #6645
fix: Use join keys instead of entity names in ODFV materialization
fix: Use join keys instead of entity names in ODFV materialization
fix: Use join keys instead of entity names in ODFV materialization (f…
chore(release): release 0.66.0
chore(release): release 0.66.0