GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feat: Pass requested On-Demand Feature Views to Provider `get_historical_features` by Shizoqua · Pull Request #5803 · feast-dev/feast

Conversation

@Shizoqua

@Shizoqua Shizoqua commented Dec 31, 2025 •
edited by devin-ai-integration Bot
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown

Summary

This PR fixes an interface/plumbing gap in historical retrieval by explicitly passing the requested On-Demand Feature Views (ODFVs) from FeatureStore.get_historical_features() into the provider’s get_historical_features() implementation.

What changed

  • Updated Provider.get_historical_features(...) signature to include:
    • on_demand_feature_views: List[OnDemandFeatureView]
  • Updated FeatureStore.get_historical_features() to pass the computed on_demand_feature_views list into the provider call.
  • Updated PassthroughProvider.get_historical_features() to accept the new argument (ignored for passthrough delegation).
  • Updated the test FooProvider implementation to match the new provider interface.
  • Added a unit test that asserts the provider receives the expected ODFVs list:
    • sdk/python/tests/unit/test_feature_store_passes_odfvs_to_provider.py

Why

Providers may need the explicit set of requested ODFVs to correctly handle or route historical retrieval logic. Previously, only the combined feature_views list was passed, which made it awkward/impossible for providers to distinguish which ODFVs were requested.

Testing

  • Added unit test test_feature_store_passes_on_demand_feature_views_to_provider.

Open with Devin

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Shizoqua
Shizoqua requested a review from a team as a code owner December 31, 2025 00:15
@Shizoqua
Shizoqua force-pushed the feat/pass-odfvs-to-provider branch from e63b40b to b2d82b6 Compare December 31, 2025 00:18
@Shizoqua Shizoqua changed the title Feat: Pass requested On-Demand Feature Views to Provider get_historical_features Feat: Pass requested On-Demand Feature Views Dec 31, 2025
@Shizoqua Shizoqua changed the title Feat: Pass requested On-Demand Feature Views Feat: Pass requested On-Demand Feature Views from FeatureStore.get_historical_features() Dec 31, 2025
@Shizoqua Shizoqua changed the title Feat: Pass requested On-Demand Feature Views from FeatureStore.get_historical_features() Feat: Pass requested On-Demand Feature Views to Provider get_historical_features Dec 31, 2025
@Shizoqua Shizoqua changed the title Feat: Pass requested On-Demand Feature Views to Provider get_historical_features feat: Pass requested On-Demand Feature Views to Provider get_historical_features Jan 1, 2026
@Shizoqua

Shizoqua commented Jan 1, 2026

Copy link
Copy Markdown
Author

Good day @franciscojavierarceo
I would appreciate it if my PR is looked at and reviewed if there is any comment you'd want to give in relations to the PR would be highly appreciated.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo reviewed Jan 9, 2026
View reviewed changes
Comment thread sdk/python/feast/infra/passthrough_provider.py Resolved

Uh oh!

There was an error while loading. Please reload this page.

@Shizoqua
Shizoqua requested a review from franciscojavierarceo January 10, 2026 04:07
@Shizoqua
Shizoqua force-pushed the feat/pass-odfvs-to-provider branch from 0458b97 to 1501fd4 Compare January 12, 2026 19:34
@Shizoqua

Shizoqua commented Jan 12, 2026

Copy link
Copy Markdown
Author

Good day @franciscojavierarceo
I would appreciate it if my PR is looked at and reviewed.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

1 similar comment
@Shizoqua

Shizoqua commented Jan 16, 2026

Copy link
Copy Markdown
Author

Good day @franciscojavierarceo
I would appreciate it if my PR is looked at and reviewed.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Shizoqua

Shizoqua commented Jan 19, 2026

Copy link
Copy Markdown
Author

Hello,
Good day @franciscojavierarceo
Just a quick reminder of my PR getting reviewed.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@haoxu0

haoxu0 commented Jan 19, 2026

Copy link
Copy Markdown
Collaborator

Can you explain why you need this argument?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Shizoqua

Shizoqua commented Jan 20, 2026

Copy link
Copy Markdown
Author

Can you explain why you need this argument?

The new on_demand_feature_views argument is needed because FeatureStore.get_historical_features() already resolves which OnDemandFeatureViews are actually requested (via _group_feature_refs), but historically we were not passing that information to the Provider.
Without this argument, the Provider only sees feature_views + feature_refs and has to:

  • either re-resolve ODFVs from the feature refs (i.e. duplicating logic), or
  • conservatively treat ODFVs as part of the full graph and potentially execute transformations for ODFVs that aren’t requested, which can add unnecessary joins/transforms and overhead.

Passing on_demand_feature_views makes the API explicit so provider implementations that can optimize or need this for correct planning like compute-engine based retrieval can do so without re-deriving it.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@haoxu0

haoxu0 commented Jan 21, 2026

Copy link
Copy Markdown
Collaborator

Can you explain why you need this argument?

The new on_demand_feature_views argument is needed because FeatureStore.get_historical_features() already resolves which OnDemandFeatureViews are actually requested (via _group_feature_refs), but historically we were not passing that information to the Provider. Without this argument, the Provider only sees feature_views + feature_refs and has to:

  • either re-resolve ODFVs from the feature refs (i.e. duplicating logic), or
  • conservatively treat ODFVs as part of the full graph and potentially execute transformations for ODFVs that aren’t requested, which can add unnecessary joins/transforms and overhead.

Passing on_demand_feature_views makes the API explicit so provider implementations that can optimize or need this for correct planning like compute-engine based retrieval can do so without re-deriving it.

Although I don’t fully support this ad hoc change, since it’s not user-facing, I’m okay with approving it. Could you please add a TODO and create a follow-up issue to flag it for a proper long-term fix?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@haoxu0 haoxu0 added the ok-to-test label Jan 21, 2026
@Shizoqua

Shizoqua commented Jan 22, 2026

Copy link
Copy Markdown
Author

Although I don’t fully support this ad hoc change, since it’s not user-facing, I’m okay with approving it. Could you please add a TODO and create a follow-up issue to flag it for a proper long-term fix?

Okay, I'm on it now

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Shizoqua Shizoqua mentioned this pull request Jan 22, 2026
Provider get_historical_features API cleanup: remove ad-hoc args and formalize ODFV handling #5890
Open
@Shizoqua

Shizoqua commented Jan 22, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Author

Although I don’t fully support this ad hoc change, since it’s not user-facing, I’m okay with approving it. Could you please add a TODO and create a follow-up issue to flag it for a proper long-term fix?

Added a TODO in FeatureStore.get_historical_features to flag this as an interim interface change. I’ve also open a follow-up issue to track a proper long-term cleanup of the historical retrieval Provider API (request object / clearer contract) and will link it here once created.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

franciscojavierarceo
franciscojavierarceo approved these changes Jan 22, 2026
View reviewed changes
Shizoqua added 5 commits January 30, 2026 12:49
@Shizoqua
feat: pass ODFVs to provider for historical retrieval
4f03d48
Signed-off-by: Shizoqua <[email protected]>
@Shizoqua
feat: pass requested ODFVs into provider.get_historical_features
7dcf9bf
Signed-off-by: Shizoqua <[email protected]>
@Shizoqua
chore: fix ruff lint in ODFV provider tests
f352fd6
Signed-off-by: Shizoqua <[email protected]>
@Shizoqua
style: format ODFV provider test
05024d2
Signed-off-by: Shizoqua <[email protected]>
@Shizoqua
docs: add TODO for long-term historical retrieval API cleanup
970cd02
Signed-off-by: Shizoqua <[email protected]>
@Shizoqua
Shizoqua force-pushed the feat/pass-odfvs-to-provider branch from 0bc17e6 to 970cd02 Compare January 30, 2026 11:53
devin-ai-integration[bot]
devin-ai-integration Bot reviewed Jan 30, 2026
View reviewed changes

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

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.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no potential bugs to report.

View in Devin Review to see 4 additional flags.

Open in Devin Review

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@Shizoqua

Shizoqua commented Jan 31, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Author

Hello,
Good day @franciscojavierarceo
Just a quick reminder of my PR getting reviewed or processed

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@andrevus andrevus mentioned this pull request Mar 12, 2026
get_historical_features returns all ODFV output columns even when a single ODFV feature is requested #6099
Closed
@Shizoqua
Merge branch 'master' into feat/pass-odfvs-to-provider
65fb480
@Shizoqua

Shizoqua commented Mar 18, 2026

Copy link
Copy Markdown
Author

Hello,
Good day
Please can my PR get reviewed?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@Shizoqua
Shizoqua requested a review from franciscojavierarceo March 18, 2026 09:34
franciscojavierarceo
franciscojavierarceo requested changes Mar 25, 2026
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

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.

tests are failing

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@devin-ai-integration devin-ai-integration[bot] devin-ai-integration[bot] left review comments
@franciscojavierarceo franciscojavierarceo franciscojavierarceo requested changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

ok-to-test

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

3 participants

@Shizoqua @haoxu0 @franciscojavierarceo
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.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.