From 37a8624d03ee99887ef7c774ef3b604065e80579 Mon Sep 17 00:00:00 2001 From: Achal Shah Date: Tue, 15 Jun 2021 11:52:22 -0700 Subject: [PATCH 1/2] Add assertions for supported sources for known online stores Signed-off-by: Achal Shah --- sdk/python/feast/infra/online_stores/helpers.py | 2 +- sdk/python/feast/repo_config.py | 2 +- sdk/python/feast/repo_operations.py | 6 +++++- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/sdk/python/feast/infra/online_stores/helpers.py b/sdk/python/feast/infra/online_stores/helpers.py index 391794d20e0..df50c7e42bf 100644 --- a/sdk/python/feast/infra/online_stores/helpers.py +++ b/sdk/python/feast/infra/online_stores/helpers.py @@ -37,7 +37,7 @@ def get_online_store_from_config( SUPPORTED_SOURCES: Dict[Any, Set[Any]] = { - SqliteOnlineStoreConfig: {FileSource}, + SqliteOnlineStoreConfig: {FileSource, BigQuerySource}, DatastoreOnlineStoreConfig: {BigQuerySource}, RedisOnlineStoreConfig: {FileSource, BigQuerySource}, } diff --git a/sdk/python/feast/repo_config.py b/sdk/python/feast/repo_config.py index 7e70efb799b..79bba605100 100644 --- a/sdk/python/feast/repo_config.py +++ b/sdk/python/feast/repo_config.py @@ -203,7 +203,7 @@ def _validate_offline_store_config(cls, values): # Set the default type if "type" not in values["offline_store"]: - if values["provider"] == "local" or values["provider"] == "redis": + if values["provider"] == "local": values["offline_store"]["type"] = "file" elif values["provider"] == "gcp": values["offline_store"]["type"] = "bigquery" diff --git a/sdk/python/feast/repo_operations.py b/sdk/python/feast/repo_operations.py index 63ed5c74d72..c63085d14ee 100644 --- a/sdk/python/feast/repo_operations.py +++ b/sdk/python/feast/repo_operations.py @@ -15,6 +15,7 @@ from feast.feature_view import FeatureView from feast.inference import infer_entity_value_type_from_feature_views from feast.infra.offline_stores.helpers import assert_offline_store_supports_data_source +from feast.infra.online_stores.helpers import assert_online_store_supports_data_source from feast.infra.provider import get_provider from feast.names import adjectives, animals from feast.registry import Registry @@ -155,6 +156,9 @@ def apply_total(repo_config: RepoConfig, repo_path: Path): assert_offline_store_supports_data_source( repo_config.offline_store, data_source ) + assert_online_store_supports_data_source( + repo_config.online_store, data_source + ) tables_to_delete = [] for registry_table in registry.list_feature_tables(project=project): @@ -177,7 +181,7 @@ def apply_total(repo_config: RepoConfig, repo_path: Path): for table in repo.feature_tables: registry.apply_feature_table(table, project) click.echo( - f"Registered feature table {Style.BRIGHT + Fore.GREEN}{registry_table.name}{Style.RESET_ALL}" + f"Registered feature table {Style.BRIGHT + Fore.GREEN}{table.name}{Style.RESET_ALL}" ) # Delete views that should not exist From c78ceda8cfefe4fef2487e657a5f311d8e857871 Mon Sep 17 00:00:00 2001 From: Achal Shah Date: Tue, 15 Jun 2021 17:11:03 -0700 Subject: [PATCH 2/2] make format Signed-off-by: Achal Shah --- sdk/python/feast/repo_operations.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/sdk/python/feast/repo_operations.py b/sdk/python/feast/repo_operations.py index c63085d14ee..9661622162d 100644 --- a/sdk/python/feast/repo_operations.py +++ b/sdk/python/feast/repo_operations.py @@ -156,9 +156,7 @@ def apply_total(repo_config: RepoConfig, repo_path: Path): assert_offline_store_supports_data_source( repo_config.offline_store, data_source ) - assert_online_store_supports_data_source( - repo_config.online_store, data_source - ) + assert_online_store_supports_data_source(repo_config.online_store, data_source) tables_to_delete = [] for registry_table in registry.list_feature_tables(project=project):