apache/beam · error · RuntimeError
Could not find the feature service
Error message
Could not find the feature service %s for the feature store configured in %s.
What it means
Raised in `__enter__` when `store.get_feature_service(self.feature_service_name)` raises, i.e. the configured feature service name does not exist in the Feast registry described by the yaml. The handler converts this into a RuntimeError naming both the service and the yaml path.
Solutions
- List available services (`store.list_feature_services()`) locally and use the exact name.
- Sync/refresh the registry file the yaml points to so it contains the feature service.
- Confirm the yaml's `project` matches the project where the feature service was defined.
- Fix typos in `feature_service_name`.
Example fix
// before feature_service_name='user_daily_features_v1' // after (name in registry) feature_service_name='user_daily_features'
Defensive patterns
Strategy: validation
Validate before calling
from feast import FeatureStore
store = FeatureStore(fs_yaml_file='feature_store.yaml')
assert feature_service_name in {fs.name for fs in store.list_feature_services()} Try / catch
try:
svc = store.get_feature_service(name)
except Exception as e:
raise RuntimeError(f'Feature service {name} not found: {e!r}') from e Prevention
- Regenerate the registry file after any feature repo change.
- Confirm the feast project in the yaml matches the feature service's project.
- Keep feature service names in shared constants between repo and pipeline.
When it happens
Trigger: Constructing the handler with a `feature_service_name` string that is absent from the feature store registry — renamed service, wrong Feast project, stale registry file, or a typo.
Common situations: Feature service renamed in the Feast repo without updating the Beam pipeline config; registry.db rebuilt and the service removed; pointing the yaml at a different project than the one containing the service.
Understand the failure class
Background: "Not found" and "does not exist" errors: why "Task not found", "No such folder", and "Can't find" fire when a lookup comes back empty — this error's family across 14 libraries.
Related errors
- FeastFeatureStore handler requires 'feast' package to be…
- Invalid feature store yaml file provided. Make sure the
- Please provide exactly one of a list of feature names to…
- Please specify exactly one of a `entity_id` or a lambda…
- The feature store yaml path
AI-assisted analysis of apache/beam@12126d8942 (2026-09-13).
Data as JSON: /api/errors/8b7b81ced58905cc.
Report an issue: GitHub.
Appendix: source
Thrown at sdks/python/apache_beam/transforms/enrichment_handlers/feast_feature_store.py:160
_validate_feature_store_yaml_path_exists(self.feature_store_yaml_path)
_validate_feature_names(self.feature_names, self.feature_service_name)
def __enter__(self):
"""Connect with the Feast feature store."""
local_repo_path = download_fs_yaml_file(self.feature_store_yaml_path)
try:
self.store = FeatureStore(fs_yaml_file=local_repo_path)
except Exception:
raise RuntimeError(
'Invalid feature store yaml file provided. Make sure '
'the %s contains the valid configuration for Feast feature store.' %
self.feature_store_yaml_path)
if self.feature_service_name:
try:
self.features = self.store.get_feature_service(
self.feature_service_name)
except Exception:
raise RuntimeError(
'Could not find the feature service %s for the feature '
'store configured in %s.' %
(self.feature_service_name, self.feature_store_yaml_path))
else:
self.features = self.feature_names
def __call__(self, request: beam.Row, *args, **kwargs):
"""Fetches feature values for an entity-id from the Feast feature store.
Args:
request: the input `beam.Row` to enrich.
"""
if self.entity_row_fn:
entity_dict = self.entity_row_fn(request)
else:
request_dict = request._asdict()
entity_dict = {self.entity_id: request_dict[self.entity_id]}
feature_values = self.store.get_online_features(View on GitHub (pinned to 12126d8942)