| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
⚠️ Please install the Codecov Report✅ All modified and coverable lines are covered by tests. @@ Coverage Diff @@
## master #6901 +/- ##
=======================================
Coverage 48.04% 48.05%
=======================================
Files 427 427
Lines 53591 53591
Branches 7800 7800
=======================================
+ Hits 25749 25753 +4
+ Misses 25986 25984 -2
+ Partials 1856 1854 -2
... and 2 files with indirect coverage changes Continue to review full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
Sorry, something went wrong.
|
Thanks @breken-ai for fixes, may be once both pr merged or in one of the pr you can add test coverage for alias + python mode + full_feature_names to make sure no regressions |
Sorry, something went wrong.
An ODFV added to a FeatureService with with_name() produces feature refs under the alias, but the online transform lookup was keyed by the ODFV's registered name. The transform was skipped and its features were silently missing from get_online_features responses. Key the lookup by the projection alias when one is set. Signed-off-by: breken-ai <312387581+breken-ai@users.noreply.github.com>
| Back | FazBrowse Home | New Git URL |
What this PR does / why we need it:
If an on demand feature view is added to a FeatureService under an alias, its features are silently missing from online responses.
The feature service's refs use the projection name, so they read scaled_alias:conv_rate_x10. _group_feature_refs and _get_feature_views_to_use resolve that ref through projection.name_to_use(). _augment_response_with_on_demand_transforms is different: it keys requested_odfv_map by odfv.name, which is scaled. The aliased ref never matches, the transform is skipped, and the requested feature is dropped from the response. Pandas and python modes are both affected.
with_name is the public aliasing API for ODFVs (#1872), and the same function already builds full names from projection.name_to_use(), so aliases are meant to work here. The fix keys the map by projection.name_alias when one is set and falls back to odfv.name. Versioned refs are unchanged, because _parse_feature_ref strips @vN before the lookup.
Which issue(s) this PR fixes:
No existing issue. I searched open issues and PRs for ODFV aliases and with_name in feature services and didn't find a match.
Checks
Testing Strategy
New test_feature_service_serves_aliased_odfv_features[pandas|python] in tests/unit/test_on_demand_pandas_transformation.py. It serves a feature service that holds odfv.with_name(...) and checks the default names in both modes and the full names (scaled_alias__conv_rate_x10) in pandas mode.
Misc
This PR only fixes online serving. get_historical_features with the same aliased feature service fails loudly with Could not find feature view from reference scaled_alias:conv_rate_x10, because offline stores re-fetch ODFVs from the registry by name. That is part of the ODFV handling cleanup in #5890.
The python mode full-name case is fixed separately in #6900.
This change was prepared with an AI coding assistant, and the tests and checks above were run locally.