Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Use the correct dockerhub image tag when building feature servers #2372

Merged
merged 11 commits into from
Mar 7, 2022
8 changes: 4 additions & 4 deletions sdk/python/feast/infra/aws.py
Original file line number Diff line number Diff line change
Expand Up @@ -119,6 +119,8 @@ def _deploy_feature_server(self, project: str, image_uri: str):
lambda_client = boto3.client("lambda")
api_gateway_client = boto3.client("apigatewayv2")
function = aws_utils.get_lambda_function(lambda_client, resource_name)
_logger.debug("Using function name: %s", resource_name)
_logger.debug("Found function: %s", function)

if function is None:
# If the Lambda function does not exist, create it.
Expand Down Expand Up @@ -309,7 +311,7 @@ def _create_or_get_repository_uri(self, ecr_client):

def _get_lambda_name(project: str):
lambda_prefix = AWS_LAMBDA_FEATURE_SERVER_REPOSITORY
lambda_suffix = f"{project}-{_get_docker_image_version()}"
lambda_suffix = f"{project}-{_get_docker_image_version().replace('.', '_')}"
# AWS Lambda name can't have the length greater than 64 bytes.
# This usually occurs during integration tests where feast version is long
if len(lambda_prefix) + len(lambda_suffix) >= 63:
Expand Down Expand Up @@ -338,7 +340,7 @@ def _get_docker_image_version() -> str:
else:
version = get_version()
if "dev" in version:
version = version[: version.find("dev") - 1].replace(".", "_")
version = version[: version.find("dev") - 1]
_logger.warning(
"You are trying to use AWS Lambda feature server while Feast is in a development mode. "
f"Feast will use a docker image version {version} derived from Feast SDK "
Expand All @@ -347,8 +349,6 @@ def _get_docker_image_version() -> str:
"> git fetch --all --tags\n"
"> pip install -e sdk/python"
)
else:
version = version.replace(".", "_")
return version


Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,6 @@
if os.getenv("FEAST_IS_LOCAL_TEST", "False") != "True":
DEFAULT_FULL_REPO_CONFIGS.extend(
[
# Redis configurations
IntegrationTestRepoConfig(online_store=REDIS_CONFIG),
IntegrationTestRepoConfig(online_store=REDIS_CLUSTER_CONFIG),
# GCP configurations
Expand Down Expand Up @@ -263,7 +262,7 @@ def values(self):


def construct_universal_feature_views(
data_sources: UniversalDataSources,
data_sources: UniversalDataSources, with_odfv: bool = True,
) -> UniversalFeatureViews:
driver_hourly_stats = create_driver_hourly_stats_feature_view(data_sources.driver)
return UniversalFeatureViews(
Expand All @@ -275,7 +274,9 @@ def construct_universal_feature_views(
"driver": driver_hourly_stats,
"input_request": create_conv_rate_request_data_source(),
}
),
)
if with_odfv
else None,
driver_age_request_fv=create_driver_age_request_feature_view(),
order=create_order_feature_view(data_sources.orders),
location=create_location_stats_feature_view(data_sources.location),
Expand Down Expand Up @@ -358,7 +359,6 @@ def construct_test_environment(
registry = RegistryConfig(
path=str(Path(repo_dir_name) / "registry.db"), cache_ttl_seconds=1,
)

config = RepoConfig(
registry=registry,
project=project,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -271,7 +271,7 @@ def _get_online_features_dict_remotely(
if response.get("message") != "Internal Server Error":
break
# Sleep between retries to give the server some time to start
time.sleep(1)
time.sleep(15)
else:
raise Exception("Failed to get online features from remote feature server")
if "metadata" not in response:
Expand Down