diff --git a/sdk/python/feast/feature_store.py b/sdk/python/feast/feature_store.py index 157b62095a..e9108f8953 100644 --- a/sdk/python/feast/feature_store.py +++ b/sdk/python/feast/feature_store.py @@ -1159,11 +1159,6 @@ def write_to_online_store( """ ingests data directly into the Online store """ - if not flags_helper.enable_direct_ingestion_to_online_store(self.config): - raise ExperimentalFeatureNotEnabled( - flags.FLAG_DIRECT_INGEST_TO_ONLINE_STORE - ) - # TODO: restrict this to work with online StreamFeatureViews and validate the FeatureView type feature_view = self._registry.get_feature_view( feature_view_name, self.project, allow_cache=allow_registry_cache diff --git a/sdk/python/feast/flags.py b/sdk/python/feast/flags.py index a1ca0c3b73..26e20d81f6 100644 --- a/sdk/python/feast/flags.py +++ b/sdk/python/feast/flags.py @@ -1,12 +1,10 @@ FLAG_ALPHA_FEATURES_NAME = "alpha_features" FLAG_ON_DEMAND_TRANSFORM_NAME = "on_demand_transforms" FLAG_AWS_LAMBDA_FEATURE_SERVER_NAME = "aws_lambda_feature_server" -FLAG_DIRECT_INGEST_TO_ONLINE_STORE = "direct_ingest_to_online_store" ENV_FLAG_IS_TEST = "IS_TEST" FLAG_NAMES = { FLAG_ALPHA_FEATURES_NAME, FLAG_ON_DEMAND_TRANSFORM_NAME, FLAG_AWS_LAMBDA_FEATURE_SERVER_NAME, - FLAG_DIRECT_INGEST_TO_ONLINE_STORE, } diff --git a/sdk/python/feast/flags_helper.py b/sdk/python/feast/flags_helper.py index 89905e7d36..7cf16dbf0b 100644 --- a/sdk/python/feast/flags_helper.py +++ b/sdk/python/feast/flags_helper.py @@ -37,7 +37,3 @@ def enable_on_demand_feature_views(repo_config: RepoConfig) -> bool: def enable_aws_lambda_feature_server(repo_config: RepoConfig) -> bool: return feature_flag_enabled(repo_config, flags.FLAG_AWS_LAMBDA_FEATURE_SERVER_NAME) - - -def enable_direct_ingestion_to_online_store(repo_config: RepoConfig) -> bool: - return feature_flag_enabled(repo_config, flags.FLAG_DIRECT_INGEST_TO_ONLINE_STORE) diff --git a/sdk/python/feast/repo_config.py b/sdk/python/feast/repo_config.py index 3744c0096b..4fc46b91fa 100644 --- a/sdk/python/feast/repo_config.py +++ b/sdk/python/feast/repo_config.py @@ -1,3 +1,4 @@ +import logging import os from pathlib import Path from typing import Any @@ -23,6 +24,8 @@ from feast.importer import import_class from feast.usage import log_exceptions +_logger = logging.getLogger(__name__) + # These dict exists so that: # - existing values for the online store type in featurestore.yaml files continue to work in a backwards compatible way # - first party and third party implementations can use the same class loading code path. @@ -278,7 +281,11 @@ def _validate_flags(cls, v): for flag_name, val in v.items(): if flag_name not in flags.FLAG_NAMES: - raise ValueError(f"Flag name, {flag_name}, not valid.") + _logger.warn( + "Unrecognized flag: %s. This feature may be invalid, or may refer " + "to a previously experimental feature which has graduated to production.", + flag_name, + ) if type(val) is not bool: raise ValueError(f"Flag value, {val}, not valid.")