This PR resolves issue #6429 by extending the enable_feature_view,
disable_feature_view, and set_feature_view_state operations to support all
feature view types, specifically adding support for StreamFeatureView. It also
exposes these actions through new REST and gRPC API endpoints for external
clients.
2. Changes:
gRPC Server: Added EnableFeatureView, DisableFeatureView, and
SetFeatureViewState handlers in RegistryServer to enable operations from
gRPC clients.
REST API Router: Added FastAPI routes (/feature_views/{name}/enable,
/disable, /state) delegating requests to the gRPC client.
Core FeatureStore: Enhanced client validation in feature_store.py to
support StreamFeatureView type validation and raise clean ValueError
exceptions for unsupported resource types (like Entities).
CLI Groups: Added enable, disable, and set-state subcommands to
on-demand-feature-views and stream-feature-views Click command groups.
Protos: Compiled updated proto interfaces in RegistryServer.proto.
My PR title follows [conventional commits](https://www.
conventionalcommits.org/) format
Testing Strategy
Unit tests
Integration tests
Testing details:
Executed the unit tests and REST API integration tests:
uv run python -m pytest sdk/python/tests/unit/test_feature_view_state.py
sdk/python/tests/unit/api/test_api_rest_registry.py
Results: All 101 passed successfully in 33.48 seconds.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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.
1. What this PR does / why we need it:
This PR resolves issue #6429 by extending the enable_feature_view,
disable_feature_view, and set_feature_view_state operations to support all
feature view types, specifically adding support for StreamFeatureView. It also
exposes these actions through new REST and gRPC API endpoints for external
clients.
2. Changes:
gRPC Server: Added EnableFeatureView, DisableFeatureView, and
SetFeatureViewState handlers in RegistryServer to enable operations from
gRPC clients.
REST API Router: Added FastAPI routes (/feature_views/{name}/enable,
/disable, /state) delegating requests to the gRPC client.
Core FeatureStore: Enhanced client validation in feature_store.py to
support StreamFeatureView type validation and raise clean ValueError
exceptions for unsupported resource types (like Entities).
CLI Groups: Added enable, disable, and set-state subcommands to
on-demand-feature-views and stream-feature-views Click command groups.
Protos: Compiled updated proto interfaces in RegistryServer.proto.
Which issue(s) this PR fixes:
Fixes Extend enable/disable/set-state to all feature view types and REST/gRPC APIs #6429
Checks
conventionalcommits.org/) format
Testing Strategy
Testing details:
Executed the unit tests and REST API integration tests:
uv run python -m pytest sdk/python/tests/unit/test_feature_view_state.py sdk/python/tests/unit/api/test_api_rest_registry.py Results: All 101 passed successfully in 33.48 seconds.