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

  1. List available services (`store.list_feature_services()`) locally and use the exact name.
  2. Sync/refresh the registry file the yaml points to so it contains the feature service.
  3. Confirm the yaml's `project` matches the project where the feature service was defined.
  4. 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

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


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)