{"record":{"id":"b969ecc93ca894b6","repo":"apache/beam","slug":"the-feature-store-yaml-path-s-does-not-exist","errorCode":null,"errorMessage":"The feature store yaml path (%s) does not exist.","messagePattern":"The feature store yaml path \\((.+?)\\) does not exist\\.","errorType":"validation","errorClass":"ValueError","httpStatus":null,"severity":"error","filePath":"sdks/python/apache_beam/transforms/enrichment_handlers/feast_feature_store.py","lineNumber":70,"sourceCode":"    raise RuntimeError(\n        'error downloading the file %s locally to load the '\n        'Feast feature store.' % gcs_fs_yaml_file)\n\n\ndef _validate_feature_names(feature_names, feature_service_name):\n  \"\"\"Check if one of `feature_names` or `feature_service_name` is provided.\"\"\"\n  if ((not feature_names and not feature_service_name) or\n      bool(feature_names and feature_service_name)):\n    raise ValueError(\n        'Please provide exactly one of a list of feature names to fetch '\n        'from online store (`feature_names`) or a feature service name for '\n        'the Feast online feature store (`feature_service_name`).')\n\n\ndef _validate_feature_store_yaml_path_exists(fs_yaml_file):\n  \"\"\"Check if the feature store yaml path exists.\"\"\"\n  if not FileSystems.exists(fs_yaml_file):\n    raise ValueError(\n        'The feature store yaml path (%s) does not exist.' % fs_yaml_file)\n\n\ndef _validate_entity_key_exists(entity_id, entity_row_fn):\n  \"\"\"Checks if the entity key or a lambda to build entity key exists.\"\"\"\n  if ((not entity_row_fn and not entity_id) or\n      bool(entity_row_fn and entity_id)):\n    raise ValueError(\n        \"Please specify exactly one of a `entity_id` or a lambda \"\n        \"function with `entity_row_fn` to extract the entity id \"\n        \"from the input row.\")\n\n\nclass FeastFeatureStoreEnrichmentHandler(EnrichmentSourceHandler[beam.Row,\n                                                                 beam.Row]):\n  \"\"\"Enrichment handler to interact with the Feast feature store.\n\n  To specify the features to fetch from Feast online store,","sourceCodeStart":52,"sourceCodeEnd":88,"githubUrl":"https://github.com/apache/beam/blob/12126d8942aaf848030c478b4c6a28c6af861c66/sdks/python/apache_beam/transforms/enrichment_handlers/feast_feature_store.py#L52-L88","documentation":"Raised by `_validate_feature_store_yaml_path_exists` at handler construction when `FileSystems.exists(feature_store_yaml_path)` returns False. The configured yaml (usually a gs:// path) cannot be found, so the Feast handler aborts early rather than failing later during download.","triggerScenarios":"Constructing `FeastFeatureStoreEnrichmentHandler` with a `feature_store_yaml_path` that points to a nonexistent GCS object, has a typo, or uses a wrong bucket/project.","commonSituations":"Deleted or renamed yaml file; wrong environment config pointing at another bucket; local paths tested locally but replaced incorrectly with gs:// paths for Dataflow.","solutions":["Run `FileSystems.exists('gs://bucket/path.yaml')` in the same environment to confirm reachability.","Fix the path/bucket/project in the configuration.","Ensure the file is uploaded before launching the pipeline (e.g. via gsutil/deployment step).","Check for typos and environment-specific config injection (staging vs prod buckets)."],"exampleFix":"// before\nfeature_store_yaml_path='gs://my-bucket/featstore/feature_store.yamll'\n// after\nfeature_store_yaml_path='gs://my-bucket/featstore/feature_store.yaml'","handlingStrategy":"validation","validationCode":"from apache_beam.io.filesystems import FileSystems\nif not FileSystems.exists(feature_store_yaml_path):\n    raise FileNotFoundError(f'{feature_store_yaml_path} does not exist')","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Add an existence check to deployment scripts before launching the pipeline.","Keep yaml paths in environment-specific config with tests.","Avoid hand-typed gs:// paths; generate them from constants."],"tags":["python","apache-beam","feast","file-not-found"],"backgroundTag":"file-not-found","analyzedSha":"12126d8942aaf848030c478b4c6a28c6af861c66","analyzedAt":"2026-09-13T01:50:10.254Z","contentChangedAt":"2026-09-13T01:50:10.254Z","schemaVersion":2},"datasetVersion":"2026-09-14T21:17:11.552Z"}