From 76270f66b3d98b0119b70927c06908f9834b6120 Mon Sep 17 00:00:00 2001 From: Robin Neufeld Date: Mon, 24 Jul 2023 14:46:54 -0400 Subject: [PATCH 1/9] fix: Redshift push ignores schema (#3671) * Add fully-qualified-table-name Redshift prop Signed-off-by: Robin Neufeld * pre-commit Signed-off-by: Robin Neufeld * Docstring Signed-off-by: Robin Neufeld * Test fully_qualified_table_name Signed-off-by: Robin Neufeld * Simplify logic Signed-off-by: Robin Neufeld * pre-commit Signed-off-by: Robin Neufeld * pre-commit Signed-off-by: Robin Neufeld * Test offline_write_batch Signed-off-by: Robin Neufeld * Bump to trigger CI Signed-off-by: Robin Neufeld * another bump for ci Signed-off-by: Robin Neufeld --------- Signed-off-by: Robin Neufeld --- .../feast/infra/offline_stores/redshift.py | 2 +- .../infra/offline_stores/redshift_source.py | 37 +++++++++- .../infra/offline_stores/test_redshift.py | 67 +++++++++++++++++++ sdk/python/tests/unit/test_data_sources.py | 43 ++++++++++++ 4 files changed, 147 insertions(+), 2 deletions(-) create mode 100644 sdk/python/tests/unit/infra/offline_stores/test_redshift.py diff --git a/sdk/python/feast/infra/offline_stores/redshift.py b/sdk/python/feast/infra/offline_stores/redshift.py index aba2bda353c..837cf49655d 100644 --- a/sdk/python/feast/infra/offline_stores/redshift.py +++ b/sdk/python/feast/infra/offline_stores/redshift.py @@ -369,7 +369,7 @@ def offline_write_batch( s3_resource=s3_resource, s3_path=f"{config.offline_store.s3_staging_location}/push/{uuid.uuid4()}.parquet", iam_role=config.offline_store.iam_role, - table_name=redshift_options.table, + table_name=redshift_options.fully_qualified_table_name, schema=pa_schema, fail_if_exists=False, ) diff --git a/sdk/python/feast/infra/offline_stores/redshift_source.py b/sdk/python/feast/infra/offline_stores/redshift_source.py index 1f80dede076..52ab50ba000 100644 --- a/sdk/python/feast/infra/offline_stores/redshift_source.py +++ b/sdk/python/feast/infra/offline_stores/redshift_source.py @@ -294,6 +294,42 @@ def from_proto(cls, redshift_options_proto: DataSourceProto.RedshiftOptions): return redshift_options + @property + def fully_qualified_table_name(self) -> str: + """ + The fully qualified table name of this Redshift table. + + Returns: + A string in the format of .. + May be empty or None if the table is not set + """ + + if not self.table: + return "" + + # self.table may already contain the database and schema + parts = self.table.split(".") + if len(parts) == 3: + database, schema, table = parts + elif len(parts) == 2: + database = self.database + schema, table = parts + elif len(parts) == 1: + database = self.database + schema = self.schema + table = parts[0] + else: + raise ValueError( + f"Invalid table name: {self.table} - can't determine database and schema" + ) + + if database and schema: + return f"{database}.{schema}.{table}" + elif schema: + return f"{schema}.{table}" + else: + return table + def to_proto(self) -> DataSourceProto.RedshiftOptions: """ Converts an RedshiftOptionsProto object to its protobuf representation. @@ -323,7 +359,6 @@ def __init__(self, table_ref: str): @staticmethod def from_proto(storage_proto: SavedDatasetStorageProto) -> SavedDatasetStorage: - return SavedDatasetRedshiftStorage( table_ref=RedshiftOptions.from_proto(storage_proto.redshift_storage).table ) diff --git a/sdk/python/tests/unit/infra/offline_stores/test_redshift.py b/sdk/python/tests/unit/infra/offline_stores/test_redshift.py new file mode 100644 index 00000000000..049977489b9 --- /dev/null +++ b/sdk/python/tests/unit/infra/offline_stores/test_redshift.py @@ -0,0 +1,67 @@ +from unittest.mock import MagicMock, patch + +import pandas as pd +import pyarrow as pa + +from feast import FeatureView +from feast.infra.offline_stores import offline_utils +from feast.infra.offline_stores.redshift import ( + RedshiftOfflineStore, + RedshiftOfflineStoreConfig, +) +from feast.infra.offline_stores.redshift_source import RedshiftSource +from feast.infra.utils import aws_utils +from feast.repo_config import RepoConfig + + +@patch.object(aws_utils, "upload_arrow_table_to_redshift") +def test_offline_write_batch( + mock_upload_arrow_table_to_redshift: MagicMock, + simple_dataset_1: pd.DataFrame, +): + repo_config = RepoConfig( + registry="registry", + project="project", + provider="local", + offline_store=RedshiftOfflineStoreConfig( + type="redshift", + region="us-west-2", + cluster_id="cluster_id", + database="database", + user="user", + iam_role="abcdef", + s3_staging_location="s3://bucket/path", + ), + ) + + batch_source = RedshiftSource( + name="test_source", + timestamp_field="ts", + table="table_name", + schema="schema_name", + ) + feature_view = FeatureView( + name="test_view", + source=batch_source, + ) + + pa_dataset = pa.Table.from_pandas(simple_dataset_1) + + # patch some more things so that the function can run + def mock_get_pyarrow_schema_from_batch_source(*args, **kwargs) -> pa.Schema: + return pa_dataset.schema, pa_dataset.column_names + + with patch.object( + offline_utils, + "get_pyarrow_schema_from_batch_source", + new=mock_get_pyarrow_schema_from_batch_source, + ): + RedshiftOfflineStore.offline_write_batch( + repo_config, feature_view, pa_dataset, progress=None + ) + + # check that we have included the fully qualified table name + mock_upload_arrow_table_to_redshift.assert_called_once() + + call = mock_upload_arrow_table_to_redshift.call_args_list[0] + assert call.kwargs["table_name"] == "schema_name.table_name" diff --git a/sdk/python/tests/unit/test_data_sources.py b/sdk/python/tests/unit/test_data_sources.py index 30b030feb67..990c5d3b698 100644 --- a/sdk/python/tests/unit/test_data_sources.py +++ b/sdk/python/tests/unit/test_data_sources.py @@ -190,3 +190,46 @@ def test_column_conflict(): timestamp_field="event_timestamp", created_timestamp_column="event_timestamp", ) + + +@pytest.mark.parametrize( + "source_kwargs,expected_name", + [ + ( + { + "database": "test_database", + "schema": "test_schema", + "table": "test_table", + }, + "test_database.test_schema.test_table", + ), + ( + {"database": "test_database", "table": "test_table"}, + "test_database.public.test_table", + ), + ({"table": "test_table"}, "public.test_table"), + ({"database": "test_database", "table": "b.c"}, "test_database.b.c"), + ({"database": "test_database", "table": "a.b.c"}, "a.b.c"), + ( + { + "database": "test_database", + "schema": "test_schema", + "query": "select * from abc", + }, + "", + ), + ], +) +def test_redshift_fully_qualified_table_name(source_kwargs, expected_name): + redshift_source = RedshiftSource( + name="test_source", + timestamp_field="event_timestamp", + created_timestamp_column="created_timestamp", + field_mapping={"foo": "bar"}, + description="test description", + tags={"test": "test"}, + owner="test@gmail.com", + **source_kwargs, + ) + + assert redshift_source.redshift_options.fully_qualified_table_name == expected_name From c75a01fce2d52cd18479ace748b8eb2e6c81c988 Mon Sep 17 00:00:00 2001 From: harmeet-singh-discovery <95894926+harmeet-singh-discovery@users.noreply.github.com> Date: Tue, 1 Aug 2023 13:35:03 -0700 Subject: [PATCH 2/9] fix: Add aws-sts dependency in java sdk so that S3 client acquires IRSA role (#3696) Add aws-sts dependency in java sdk Signed-off-by: harmeet-singh-discovery --- java/serving/pom.xml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/java/serving/pom.xml b/java/serving/pom.xml index 8f0cf407e96..79f942d4918 100644 --- a/java/serving/pom.xml +++ b/java/serving/pom.xml @@ -243,6 +243,12 @@ 1.12.261 + + com.amazonaws + aws-java-sdk-sts + 1.12.476 + + com.adobe.testing s3mock-testcontainers From 8dfc8edd27f13b77989418155779d281d7e37534 Mon Sep 17 00:00:00 2001 From: Felix Wang Date: Sun, 13 Aug 2023 18:23:50 -0700 Subject: [PATCH 3/9] Switch from `macos-10.15` to `macos-latest` (#3722) Signed-off-by: Felix Wang --- .github/workflows/build_wheels.yml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 9bed2a4282b..38bd611e68f 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -79,7 +79,7 @@ jobs: build-source-distribution: name: Build source distribution - runs-on: macos-10.15 + runs-on: macos-latest steps: - uses: actions/checkout@v2 - name: Setup Python @@ -136,7 +136,7 @@ jobs: needs: [build-python-wheel, build-source-distribution, get-version] strategy: matrix: - os: [ubuntu-latest, macos-10.15 ] + os: [ubuntu-latest, macos-latest ] python-version: [ "3.8", "3.9", "3.10"] from-source: [ True, False ] env: @@ -165,7 +165,7 @@ jobs: name: wheels path: dist - name: Install OS X dependencies - if: matrix.os == 'macos-10.15' + if: matrix.os == 'macos-latest' run: brew install coreutils - name: Install wheel if: ${{ !matrix.from-source }} From 3aca485d3d08fb1d66a5c9508b3f99caaed19889 Mon Sep 17 00:00:00 2001 From: Felix Wang Date: Sun, 13 Aug 2023 18:44:45 -0700 Subject: [PATCH 4/9] ci: Upgrade `checkout` Github Action (#3723) * Switch from `macos-10.15` to `macos-latest` Signed-off-by: Felix Wang * ci: Upgrade from `actions/checkout@v2` to `actions/checkout@v3` Signed-off-by: Felix Wang --------- Signed-off-by: Felix Wang --- .github/fork_workflows/fork_pr_integration_tests_aws.yml | 2 +- .github/fork_workflows/fork_pr_integration_tests_gcp.yml | 2 +- .../fork_pr_integration_tests_snowflake.yml | 2 +- .github/workflows/build_wheels.yml | 8 ++++---- .github/workflows/java_master_only.yml | 8 ++++---- .github/workflows/java_pr.yml | 8 ++++---- .github/workflows/linter.yml | 2 +- .github/workflows/master_only.yml | 6 +++--- .github/workflows/nightly-ci.yml | 6 +++--- .github/workflows/pr_integration_tests.yml | 2 +- .github/workflows/pr_local_integration_tests.yml | 2 +- .github/workflows/publish.yml | 8 ++++---- .github/workflows/release.yml | 8 ++++---- .github/workflows/unit_tests.yml | 4 ++-- 14 files changed, 34 insertions(+), 34 deletions(-) diff --git a/.github/fork_workflows/fork_pr_integration_tests_aws.yml b/.github/fork_workflows/fork_pr_integration_tests_aws.yml index e4362af7d3e..899c5528e67 100644 --- a/.github/fork_workflows/fork_pr_integration_tests_aws.yml +++ b/.github/fork_workflows/fork_pr_integration_tests_aws.yml @@ -83,7 +83,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve diff --git a/.github/fork_workflows/fork_pr_integration_tests_gcp.yml b/.github/fork_workflows/fork_pr_integration_tests_gcp.yml index d77c1052e7c..7aee4f8caae 100644 --- a/.github/fork_workflows/fork_pr_integration_tests_gcp.yml +++ b/.github/fork_workflows/fork_pr_integration_tests_gcp.yml @@ -25,7 +25,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve diff --git a/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml b/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml index 56b4c268b70..ddb969548d7 100644 --- a/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml +++ b/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml @@ -25,7 +25,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 38bd611e68f..cb08c5bc431 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -18,7 +18,7 @@ jobs: highest_semver_tag: ${{ steps.get_highest_semver.outputs.highest_semver_tag }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: persist-credentials: false - name: Get release version @@ -55,7 +55,7 @@ jobs: name: Build wheels runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python uses: actions/setup-python@v2 with: @@ -81,7 +81,7 @@ jobs: name: Build source distribution runs-on: macos-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python id: setup-python uses: actions/setup-python@v2 @@ -120,7 +120,7 @@ jobs: env: REGISTRY: feastdev steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx diff --git a/.github/workflows/java_master_only.yml b/.github/workflows/java_master_only.yml index f4c280d682d..70daa6a5b69 100644 --- a/.github/workflows/java_master_only.yml +++ b/.github/workflows/java_master_only.yml @@ -18,7 +18,7 @@ jobs: MAVEN_CACHE: gs://feast-templocation-kf-feast/.m2.2020-08-19.tar REGISTRY: gcr.io/kf-feast steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' - name: Setup Python @@ -53,7 +53,7 @@ jobs: if: github.repository == 'feast-dev/feast' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' - name: Lint java @@ -63,7 +63,7 @@ jobs: if: github.repository == 'feast-dev/feast' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' - name: Set up JDK 11 @@ -97,7 +97,7 @@ jobs: env: PYTHON: 3.8 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' - name: Set up JDK 11 diff --git a/.github/workflows/java_pr.yml b/.github/workflows/java_pr.yml index ad8700c0722..c7b993862c1 100644 --- a/.github/workflows/java_pr.yml +++ b/.github/workflows/java_pr.yml @@ -12,7 +12,7 @@ jobs: if: github.repository == 'feast-dev/feast' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve @@ -27,7 +27,7 @@ jobs: runs-on: ubuntu-latest needs: lint-java steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve @@ -69,7 +69,7 @@ jobs: MAVEN_CACHE: gs://feast-templocation-kf-feast/.m2.2020-08-19.tar REGISTRY: gcr.io/kf-feast steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' - name: Setup Python @@ -101,7 +101,7 @@ jobs: env: PYTHON: 3.8 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index 31657d3dfcb..d26d490260d 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -8,7 +8,7 @@ jobs: env: PYTHON: 3.8 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python id: setup-python uses: actions/setup-python@v2 diff --git a/.github/workflows/master_only.yml b/.github/workflows/master_only.yml index 49d6fa4f856..f81f3cf1903 100644 --- a/.github/workflows/master_only.yml +++ b/.github/workflows/master_only.yml @@ -10,7 +10,7 @@ jobs: if: github.repository == 'feast-dev/feast' runs-on: ubuntu-latest steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx @@ -81,7 +81,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python id: setup-python uses: actions/setup-python@v2 @@ -166,7 +166,7 @@ jobs: MAVEN_CACHE: gs://feast-templocation-kf-feast/.m2.2020-08-19.tar REGISTRY: gcr.io/kf-feast steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index a0d1052fdb6..40bd26238e7 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -17,7 +17,7 @@ jobs: outputs: WAS_EDITED: ${{ steps.check_date.outputs.WAS_EDITED }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: master - id: check_date @@ -29,7 +29,7 @@ jobs: runs-on: ubuntu-latest name: Cleanup Bigtable / Dynamo tables which can fail to cleanup steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: master - name: Setup Python @@ -140,7 +140,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: ref: master submodules: recursive diff --git a/.github/workflows/pr_integration_tests.yml b/.github/workflows/pr_integration_tests.yml index 1fd49f08aff..b5d555cd287 100644 --- a/.github/workflows/pr_integration_tests.yml +++ b/.github/workflows/pr_integration_tests.yml @@ -102,7 +102,7 @@ jobs: --health-timeout 5s --health-retries 5 steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve diff --git a/.github/workflows/pr_local_integration_tests.yml b/.github/workflows/pr_local_integration_tests.yml index 41df3aefff2..89fe49e261c 100644 --- a/.github/workflows/pr_local_integration_tests.yml +++ b/.github/workflows/pr_local_integration_tests.yml @@ -25,7 +25,7 @@ jobs: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: # pull_request_target runs the workflow in the context of the base repo # as such actions/checkout needs to be explicit configured to retrieve diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 11f08bf2e52..93ced3a6c81 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -14,7 +14,7 @@ jobs: version_without_prefix: ${{ steps.get_release_version_without_prefix.outputs.version_without_prefix }} highest_semver_tag: ${{ steps.get_highest_semver.outputs.highest_semver_tag }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Get release version id: get_release_version run: echo ::set-output name=release_version::${GITHUB_REF#refs/*/} @@ -54,7 +54,7 @@ jobs: MAVEN_CACHE: gs://feast-templocation-kf-feast/.m2.2020-08-19.tar REGISTRY: feastdev steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Set up QEMU uses: docker/setup-qemu-action@v1 - name: Set up Docker Buildx @@ -105,7 +105,7 @@ jobs: HELM_VERSION: v3.8.0 VERSION_WITHOUT_PREFIX: ${{ needs.get-version.outputs.version_without_prefix }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Authenticate to Google Cloud uses: 'google-github-actions/auth@v1' with: @@ -149,7 +149,7 @@ jobs: runs-on: ubuntu-latest needs: get-version steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 with: submodules: 'true' - name: Set up JDK 11 diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index da16c5f8f1c..b2399f52db9 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -30,7 +30,7 @@ jobs: next_version: ${{ steps.get_versions.outputs.next_version }} steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: persist-credentials: false - name: Setup Node.js @@ -59,7 +59,7 @@ jobs: CURRENT_VERSION: ${{ needs.get_dry_release_versions.outputs.current_version }} NEXT_VERSION: ${{ needs.get_dry_release_versions.outputs.next_version }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v2 with: node-version: '18.x' @@ -100,7 +100,7 @@ jobs: CURRENT_VERSION: ${{ needs.get_dry_release_versions.outputs.current_version }} NEXT_VERSION: ${{ needs.get_dry_release_versions.outputs.next_version }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v2 with: node-version: '18.x' @@ -133,7 +133,7 @@ jobs: GIT_COMMITTER_EMAIL: feast-ci-bot@willem.co steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 with: persist-credentials: false - name: Setup Node.js diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index 285ebbb87e9..afad23846ab 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -18,7 +18,7 @@ jobs: OS: ${{ matrix.os }} PYTHON: ${{ matrix.python-version }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - name: Setup Python id: setup-python uses: actions/setup-python@v2 @@ -66,7 +66,7 @@ jobs: env: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v3 - uses: actions/setup-node@v2 with: node-version: '17.x' From 5ae55f1283c960b744ff1df052e8c49dd497da43 Mon Sep 17 00:00:00 2001 From: Felix Wang Date: Sun, 13 Aug 2023 18:45:04 -0700 Subject: [PATCH 5/9] ci: Upgrade `setup-python` Github Action (#3724) * Switch from `macos-10.15` to `macos-latest` Signed-off-by: Felix Wang * ci: Upgrade `actions/setup-python@v2` to `actions/setup-python@v3` Signed-off-by: Felix Wang --------- Signed-off-by: Felix Wang --- .github/fork_workflows/fork_pr_integration_tests_aws.yml | 2 +- .github/fork_workflows/fork_pr_integration_tests_gcp.yml | 2 +- .../fork_workflows/fork_pr_integration_tests_snowflake.yml | 2 +- .github/workflows/build_wheels.yml | 6 +++--- .github/workflows/java_master_only.yml | 4 ++-- .github/workflows/java_pr.yml | 6 +++--- .github/workflows/linter.yml | 2 +- .github/workflows/master_only.yml | 2 +- .github/workflows/nightly-ci.yml | 4 ++-- .github/workflows/pr_integration_tests.yml | 2 +- .github/workflows/pr_local_integration_tests.yml | 2 +- .github/workflows/publish.yml | 2 +- .github/workflows/unit_tests.yml | 2 +- 13 files changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/fork_workflows/fork_pr_integration_tests_aws.yml b/.github/fork_workflows/fork_pr_integration_tests_aws.yml index 899c5528e67..c354dce970d 100644 --- a/.github/fork_workflows/fork_pr_integration_tests_aws.yml +++ b/.github/fork_workflows/fork_pr_integration_tests_aws.yml @@ -91,7 +91,7 @@ jobs: ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: ${{ matrix.python-version }} diff --git a/.github/fork_workflows/fork_pr_integration_tests_gcp.yml b/.github/fork_workflows/fork_pr_integration_tests_gcp.yml index 7aee4f8caae..07eb323d567 100644 --- a/.github/fork_workflows/fork_pr_integration_tests_gcp.yml +++ b/.github/fork_workflows/fork_pr_integration_tests_gcp.yml @@ -33,7 +33,7 @@ jobs: ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: ${{ matrix.python-version }} diff --git a/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml b/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml index ddb969548d7..a86e9ad7a0a 100644 --- a/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml +++ b/.github/fork_workflows/fork_pr_integration_tests_snowflake.yml @@ -33,7 +33,7 @@ jobs: ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index cb08c5bc431..8c375b261b0 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -57,7 +57,7 @@ jobs: steps: - uses: actions/checkout@v3 - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: "3.8" architecture: x64 @@ -84,7 +84,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup Python id: setup-python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: "3.10" architecture: x64 @@ -156,7 +156,7 @@ jobs: steps: - name: Setup Python id: setup-python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} architecture: x64 diff --git a/.github/workflows/java_master_only.yml b/.github/workflows/java_master_only.yml index 70daa6a5b69..91656ad271b 100644 --- a/.github/workflows/java_master_only.yml +++ b/.github/workflows/java_master_only.yml @@ -22,7 +22,7 @@ jobs: with: submodules: 'true' - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: "3.8" @@ -107,7 +107,7 @@ jobs: java-package: jdk architecture: x64 - name: Setup Python (to call feast apply) - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: 3.8 diff --git a/.github/workflows/java_pr.yml b/.github/workflows/java_pr.yml index c7b993862c1..bf60d63ead6 100644 --- a/.github/workflows/java_pr.yml +++ b/.github/workflows/java_pr.yml @@ -73,7 +73,7 @@ jobs: with: submodules: 'true' - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: "3.8" @@ -114,7 +114,7 @@ jobs: java-version: '11' java-package: jdk architecture: x64 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v3 with: python-version: '3.8' architecture: 'x64' @@ -143,7 +143,7 @@ jobs: - name: Use AWS CLI run: aws sts get-caller-identity - name: Setup Python (to call feast apply) - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: 3.8 diff --git a/.github/workflows/linter.yml b/.github/workflows/linter.yml index d26d490260d..0f85cddf2dd 100644 --- a/.github/workflows/linter.yml +++ b/.github/workflows/linter.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup Python id: setup-python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: "3.8" architecture: x64 diff --git a/.github/workflows/master_only.yml b/.github/workflows/master_only.yml index f81f3cf1903..517095d7ece 100644 --- a/.github/workflows/master_only.yml +++ b/.github/workflows/master_only.yml @@ -84,7 +84,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup Python id: setup-python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} architecture: x64 diff --git a/.github/workflows/nightly-ci.yml b/.github/workflows/nightly-ci.yml index 40bd26238e7..fd5bc9f85f4 100644 --- a/.github/workflows/nightly-ci.yml +++ b/.github/workflows/nightly-ci.yml @@ -33,7 +33,7 @@ jobs: with: ref: master - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: "3.8" @@ -145,7 +145,7 @@ jobs: ref: master submodules: recursive - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/pr_integration_tests.yml b/.github/workflows/pr_integration_tests.yml index b5d555cd287..6b19b2f6300 100644 --- a/.github/workflows/pr_integration_tests.yml +++ b/.github/workflows/pr_integration_tests.yml @@ -110,7 +110,7 @@ jobs: ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/pr_local_integration_tests.yml b/.github/workflows/pr_local_integration_tests.yml index 89fe49e261c..527d279f10a 100644 --- a/.github/workflows/pr_local_integration_tests.yml +++ b/.github/workflows/pr_local_integration_tests.yml @@ -33,7 +33,7 @@ jobs: ref: refs/pull/${{ github.event.pull_request.number }}/merge submodules: recursive - name: Setup Python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 id: setup-python with: python-version: ${{ matrix.python-version }} diff --git a/.github/workflows/publish.yml b/.github/workflows/publish.yml index 93ced3a6c81..135d1d3a8df 100644 --- a/.github/workflows/publish.yml +++ b/.github/workflows/publish.yml @@ -158,7 +158,7 @@ jobs: java-version: '11' java-package: jdk architecture: x64 - - uses: actions/setup-python@v2 + - uses: actions/setup-python@v3 with: python-version: '3.7' architecture: 'x64' diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index afad23846ab..bee69472f5e 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -21,7 +21,7 @@ jobs: - uses: actions/checkout@v3 - name: Setup Python id: setup-python - uses: actions/setup-python@v2 + uses: actions/setup-python@v3 with: python-version: ${{ matrix.python-version }} architecture: x64 From cfbbc37113a5994d8c4fe8353c0b947771fff14d Mon Sep 17 00:00:00 2001 From: Felix Wang Date: Sun, 13 Aug 2023 18:48:18 -0700 Subject: [PATCH 6/9] ci: Upgrade `setup-node` Github Action (#3725) Upgrade `actions/setup-node@v2` to `actions/setup-node@v3` Signed-off-by: Felix Wang --- .github/workflows/build_wheels.yml | 4 ++-- .github/workflows/release.yml | 8 ++++---- .github/workflows/unit_tests.yml | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index 8c375b261b0..acbb5fd377d 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -62,7 +62,7 @@ jobs: python-version: "3.8" architecture: x64 - name: Setup Node - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '17.x' registry-url: 'https://registry.npmjs.org' @@ -89,7 +89,7 @@ jobs: python-version: "3.10" architecture: x64 - name: Setup Node - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '17.x' registry-url: 'https://registry.npmjs.org' diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b2399f52db9..a01bae40687 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -34,7 +34,7 @@ jobs: with: persist-credentials: false - name: Setup Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '18.x' registry-url: 'https://registry.npmjs.org' @@ -60,7 +60,7 @@ jobs: NEXT_VERSION: ${{ needs.get_dry_release_versions.outputs.next_version }} steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: node-version: '18.x' registry-url: 'https://registry.npmjs.org' @@ -101,7 +101,7 @@ jobs: NEXT_VERSION: ${{ needs.get_dry_release_versions.outputs.next_version }} steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: node-version: '18.x' registry-url: 'https://registry.npmjs.org' @@ -137,7 +137,7 @@ jobs: with: persist-credentials: false - name: Setup Node.js - uses: actions/setup-node@v2 + uses: actions/setup-node@v3 with: node-version: '18.x' registry-url: 'https://registry.npmjs.org' diff --git a/.github/workflows/unit_tests.yml b/.github/workflows/unit_tests.yml index bee69472f5e..37457250223 100644 --- a/.github/workflows/unit_tests.yml +++ b/.github/workflows/unit_tests.yml @@ -67,7 +67,7 @@ jobs: NPM_TOKEN: ${{ secrets.NPM_TOKEN }} steps: - uses: actions/checkout@v3 - - uses: actions/setup-node@v2 + - uses: actions/setup-node@v3 with: node-version: '17.x' registry-url: 'https://registry.npmjs.org' From ff199df9f11673e85d38d95de60840fa43641712 Mon Sep 17 00:00:00 2001 From: Felix Wang Date: Sun, 13 Aug 2023 18:48:30 -0700 Subject: [PATCH 7/9] ci: Upgrade `upload-artifact` Github Action (#3726) * Switch from `macos-10.15` to `macos-latest` Signed-off-by: Felix Wang * Upgrade `actions/upload-artifact@v2` to `actions/upload-artifact@v3` Signed-off-by: Felix Wang --------- Signed-off-by: Felix Wang --- .github/workflows/build_wheels.yml | 4 ++-- .github/workflows/java_master_only.yml | 2 +- .github/workflows/java_pr.yml | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/.github/workflows/build_wheels.yml b/.github/workflows/build_wheels.yml index acbb5fd377d..a34be284d5c 100644 --- a/.github/workflows/build_wheels.yml +++ b/.github/workflows/build_wheels.yml @@ -72,7 +72,7 @@ jobs: run: | python -m pip install build python -m build --wheel --outdir wheelhouse/ - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: wheels path: ./wheelhouse/*.whl @@ -105,7 +105,7 @@ jobs: - name: Build run: | python3 setup.py sdist - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: wheels path: dist/* diff --git a/.github/workflows/java_master_only.yml b/.github/workflows/java_master_only.yml index 91656ad271b..00d8e628c97 100644 --- a/.github/workflows/java_master_only.yml +++ b/.github/workflows/java_master_only.yml @@ -86,7 +86,7 @@ jobs: ${{ runner.os }}-ut-maven- - name: Test java run: make test-java-with-coverage - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: java-coverage-report path: ${{ github.workspace }}/docs/coverage/java/target/site/jacoco-aggregate/ diff --git a/.github/workflows/java_pr.yml b/.github/workflows/java_pr.yml index bf60d63ead6..152ca64cdb1 100644 --- a/.github/workflows/java_pr.yml +++ b/.github/workflows/java_pr.yml @@ -54,7 +54,7 @@ jobs: ${{ runner.os }}-ut-maven- - name: Test java run: make test-java-with-coverage - - uses: actions/upload-artifact@v2 + - uses: actions/upload-artifact@v3 with: name: java-coverage-report path: ${{ github.workspace }}/docs/coverage/java/target/site/jacoco-aggregate/ @@ -172,7 +172,7 @@ jobs: - name: Run integration tests run: make test-java-integration - name: Save report - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v3 if: failure() with: name: it-report From 22c109bc088d093a7c81c59e11490a9a21f82309 Mon Sep 17 00:00:00 2001 From: nsuraeva Date: Mon, 14 Aug 2023 05:24:47 +0300 Subject: [PATCH 8/9] feat: Add possibility to save dataset as table, when spark config has remote warehouse info (#3645) feat: add possibility to save dataset as table, when spark config has remote warehouse info Signed-off-by: nsuraeva Co-authored-by: nsuraeva --- .../contrib/spark_offline_store/spark.py | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark.py b/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark.py index 7574ac4865c..c9591b7c3f0 100644 --- a/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark.py +++ b/sdk/python/feast/infra/offline_stores/contrib/spark_offline_store/spark.py @@ -352,13 +352,36 @@ def persist( ): """ Run the retrieval and persist the results in the same offline store used for read. - Please note the persisting is done only within the scope of the spark session. + Please note the persisting is done only within the scope of the spark session for local warehouse directory. """ assert isinstance(storage, SavedDatasetSparkStorage) table_name = storage.spark_options.table if not table_name: raise ValueError("Cannot persist, table_name is not defined") - self.to_spark_df().createOrReplaceTempView(table_name) + if self._has_remote_warehouse_in_config(): + file_format = storage.spark_options.file_format + if not file_format: + self.to_spark_df().write.saveAsTable(table_name) + else: + self.to_spark_df().write.format(file_format).saveAsTable(table_name) + else: + self.to_spark_df().createOrReplaceTempView(table_name) + + def _has_remote_warehouse_in_config(self) -> bool: + """ + Check if Spark Session config has info about hive metastore uri + or warehouse directory is not a local path + """ + self.spark_session.sparkContext.getConf().getAll() + try: + self.spark_session.conf.get("hive.metastore.uris") + return True + except Exception: + warehouse_dir = self.spark_session.conf.get("spark.sql.warehouse.dir") + if warehouse_dir and warehouse_dir.startswith("file:"): + return False + else: + return True def supports_remote_storage_export(self) -> bool: return self._config.offline_store.staging_location is not None From 7cd80ea5bdfb879ae16394480d3508eb14ff1c4a Mon Sep 17 00:00:00 2001 From: feast-ci-bot Date: Mon, 14 Aug 2023 02:44:18 +0000 Subject: [PATCH 9/9] chore(release): release 0.33.0 # [0.33.0](https://github.com/feast-dev/feast/compare/v0.32.0...v0.33.0) (2023-08-14) ### Bug Fixes * Add aws-sts dependency in java sdk so that S3 client acquires IRSA role ([#3696](https://github.com/feast-dev/feast/issues/3696)) ([c75a01f](https://github.com/feast-dev/feast/commit/c75a01fce2d52cd18479ace748b8eb2e6c81c988)) * Redshift push ignores schema ([#3671](https://github.com/feast-dev/feast/issues/3671)) ([76270f6](https://github.com/feast-dev/feast/commit/76270f66b3d98b0119b70927c06908f9834b6120)) ### Features * Add possibility to save dataset as table, when spark config has remote warehouse info ([#3645](https://github.com/feast-dev/feast/issues/3645)) ([22c109b](https://github.com/feast-dev/feast/commit/22c109bc088d093a7c81c59e11490a9a21f82309)) --- CHANGELOG.md | 13 +++++++++++++ infra/charts/feast-feature-server/Chart.yaml | 2 +- infra/charts/feast-feature-server/README.md | 4 ++-- infra/charts/feast-feature-server/values.yaml | 2 +- infra/charts/feast/Chart.yaml | 2 +- infra/charts/feast/README.md | 6 +++--- infra/charts/feast/charts/feature-server/Chart.yaml | 4 ++-- infra/charts/feast/charts/feature-server/README.md | 4 ++-- .../charts/feast/charts/feature-server/values.yaml | 2 +- .../feast/charts/transformation-service/Chart.yaml | 4 ++-- .../feast/charts/transformation-service/README.md | 4 ++-- .../feast/charts/transformation-service/values.yaml | 2 +- infra/charts/feast/requirements.yaml | 4 ++-- java/pom.xml | 2 +- sdk/python/feast/ui/package.json | 2 +- sdk/python/feast/ui/yarn.lock | 8 ++++---- ui/package.json | 2 +- 17 files changed, 40 insertions(+), 27 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f21ecd9ff8d..585be439bac 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,18 @@ # Changelog +# [0.33.0](https://github.com/feast-dev/feast/compare/v0.32.0...v0.33.0) (2023-08-14) + + +### Bug Fixes + +* Add aws-sts dependency in java sdk so that S3 client acquires IRSA role ([#3696](https://github.com/feast-dev/feast/issues/3696)) ([c75a01f](https://github.com/feast-dev/feast/commit/c75a01fce2d52cd18479ace748b8eb2e6c81c988)) +* Redshift push ignores schema ([#3671](https://github.com/feast-dev/feast/issues/3671)) ([76270f6](https://github.com/feast-dev/feast/commit/76270f66b3d98b0119b70927c06908f9834b6120)) + + +### Features + +* Add possibility to save dataset as table, when spark config has remote warehouse info ([#3645](https://github.com/feast-dev/feast/issues/3645)) ([22c109b](https://github.com/feast-dev/feast/commit/22c109bc088d093a7c81c59e11490a9a21f82309)) + # [0.32.0](https://github.com/feast-dev/feast/compare/v0.31.0...v0.32.0) (2023-07-17) diff --git a/infra/charts/feast-feature-server/Chart.yaml b/infra/charts/feast-feature-server/Chart.yaml index e55bd86b544..3ab493fc5fb 100644 --- a/infra/charts/feast-feature-server/Chart.yaml +++ b/infra/charts/feast-feature-server/Chart.yaml @@ -2,7 +2,7 @@ apiVersion: v2 name: feast-feature-server description: Feast Feature Server in Go or Python type: application -version: 0.32.0 +version: 0.33.0 keywords: - machine learning - big data diff --git a/infra/charts/feast-feature-server/README.md b/infra/charts/feast-feature-server/README.md index 00ae16b0cd1..e175f78510a 100644 --- a/infra/charts/feast-feature-server/README.md +++ b/infra/charts/feast-feature-server/README.md @@ -1,6 +1,6 @@ # Feast Python / Go Feature Server Helm Charts -Current chart version is `0.32.0` +Current chart version is `0.33.0` ## Installation @@ -30,7 +30,7 @@ See [here](https://github.com/feast-dev/feast/tree/master/examples/python-helm-d | fullnameOverride | string | `""` | | | image.pullPolicy | string | `"IfNotPresent"` | | | image.repository | string | `"feastdev/feature-server"` | Docker image for Feature Server repository | -| image.tag | string | `"0.32.0"` | The Docker image tag (can be overwritten if custom feature server deps are needed for on demand transforms) | +| image.tag | string | `"0.33.0"` | The Docker image tag (can be overwritten if custom feature server deps are needed for on demand transforms) | | imagePullSecrets | list | `[]` | | | livenessProbe.initialDelaySeconds | int | `30` | | | livenessProbe.periodSeconds | int | `30` | | diff --git a/infra/charts/feast-feature-server/values.yaml b/infra/charts/feast-feature-server/values.yaml index 68c35175c47..e9d09796a31 100644 --- a/infra/charts/feast-feature-server/values.yaml +++ b/infra/charts/feast-feature-server/values.yaml @@ -9,7 +9,7 @@ image: repository: feastdev/feature-server pullPolicy: IfNotPresent # image.tag -- The Docker image tag (can be overwritten if custom feature server deps are needed for on demand transforms) - tag: 0.32.0 + tag: 0.33.0 imagePullSecrets: [] nameOverride: "" diff --git a/infra/charts/feast/Chart.yaml b/infra/charts/feast/Chart.yaml index 5b7817bdcb4..b16165808f8 100644 --- a/infra/charts/feast/Chart.yaml +++ b/infra/charts/feast/Chart.yaml @@ -1,7 +1,7 @@ apiVersion: v1 description: Feature store for machine learning name: feast -version: 0.32.0 +version: 0.33.0 keywords: - machine learning - big data diff --git a/infra/charts/feast/README.md b/infra/charts/feast/README.md index 777e036927d..846e8402361 100644 --- a/infra/charts/feast/README.md +++ b/infra/charts/feast/README.md @@ -8,7 +8,7 @@ This repo contains Helm charts for Feast Java components that are being installe ## Chart: Feast -Feature store for machine learning Current chart version is `0.32.0` +Feature store for machine learning Current chart version is `0.33.0` ## Installation @@ -65,8 +65,8 @@ See [here](https://github.com/feast-dev/feast/tree/master/examples/java-demo) fo | Repository | Name | Version | |------------|------|---------| | https://charts.helm.sh/stable | redis | 10.5.6 | -| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.32.0 | -| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.32.0 | +| https://feast-helm-charts.storage.googleapis.com | feature-server(feature-server) | 0.33.0 | +| https://feast-helm-charts.storage.googleapis.com | transformation-service(transformation-service) | 0.33.0 | ## Values diff --git a/infra/charts/feast/charts/feature-server/Chart.yaml b/infra/charts/feast/charts/feature-server/Chart.yaml index c4cd90a1e6b..931c34f7c94 100644 --- a/infra/charts/feast/charts/feature-server/Chart.yaml +++ b/infra/charts/feast/charts/feature-server/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 description: "Feast Feature Server: Online feature serving service for Feast" name: feature-server -version: 0.32.0 -appVersion: v0.32.0 +version: 0.33.0 +appVersion: v0.33.0 keywords: - machine learning - big data diff --git a/infra/charts/feast/charts/feature-server/README.md b/infra/charts/feast/charts/feature-server/README.md index de4ff43e0dd..653b9dfb0c4 100644 --- a/infra/charts/feast/charts/feature-server/README.md +++ b/infra/charts/feast/charts/feature-server/README.md @@ -1,6 +1,6 @@ # feature-server -![Version: 0.32.0](https://img.shields.io/badge/Version-0.32.0-informational?style=flat-square) ![AppVersion: v0.32.0](https://img.shields.io/badge/AppVersion-v0.32.0-informational?style=flat-square) +![Version: 0.33.0](https://img.shields.io/badge/Version-0.33.0-informational?style=flat-square) ![AppVersion: v0.33.0](https://img.shields.io/badge/AppVersion-v0.33.0-informational?style=flat-square) Feast Feature Server: Online feature serving service for Feast @@ -17,7 +17,7 @@ Feast Feature Server: Online feature serving service for Feast | envOverrides | object | `{}` | Extra environment variables to set | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.repository | string | `"feastdev/feature-server-java"` | Docker image for Feature Server repository | -| image.tag | string | `"0.32.0"` | Image tag | +| image.tag | string | `"0.33.0"` | Image tag | | ingress.grpc.annotations | object | `{}` | Extra annotations for the ingress | | ingress.grpc.auth.enabled | bool | `false` | Flag to enable auth | | ingress.grpc.class | string | `"nginx"` | Which ingress controller to use | diff --git a/infra/charts/feast/charts/feature-server/values.yaml b/infra/charts/feast/charts/feature-server/values.yaml index 5497aa74dc5..2403e796458 100644 --- a/infra/charts/feast/charts/feature-server/values.yaml +++ b/infra/charts/feast/charts/feature-server/values.yaml @@ -5,7 +5,7 @@ image: # image.repository -- Docker image for Feature Server repository repository: feastdev/feature-server-java # image.tag -- Image tag - tag: 0.32.0 + tag: 0.33.0 # image.pullPolicy -- Image pull policy pullPolicy: IfNotPresent diff --git a/infra/charts/feast/charts/transformation-service/Chart.yaml b/infra/charts/feast/charts/transformation-service/Chart.yaml index 7bda807cf17..7a4e0fd7d17 100644 --- a/infra/charts/feast/charts/transformation-service/Chart.yaml +++ b/infra/charts/feast/charts/transformation-service/Chart.yaml @@ -1,8 +1,8 @@ apiVersion: v1 description: "Transformation service: to compute on-demand features" name: transformation-service -version: 0.32.0 -appVersion: v0.32.0 +version: 0.33.0 +appVersion: v0.33.0 keywords: - machine learning - big data diff --git a/infra/charts/feast/charts/transformation-service/README.md b/infra/charts/feast/charts/transformation-service/README.md index 121e24fe23f..0d217edf046 100644 --- a/infra/charts/feast/charts/transformation-service/README.md +++ b/infra/charts/feast/charts/transformation-service/README.md @@ -1,6 +1,6 @@ # transformation-service -![Version: 0.32.0](https://img.shields.io/badge/Version-0.32.0-informational?style=flat-square) ![AppVersion: v0.32.0](https://img.shields.io/badge/AppVersion-v0.32.0-informational?style=flat-square) +![Version: 0.33.0](https://img.shields.io/badge/Version-0.33.0-informational?style=flat-square) ![AppVersion: v0.33.0](https://img.shields.io/badge/AppVersion-v0.33.0-informational?style=flat-square) Transformation service: to compute on-demand features @@ -13,7 +13,7 @@ Transformation service: to compute on-demand features | envOverrides | object | `{}` | Extra environment variables to set | | image.pullPolicy | string | `"IfNotPresent"` | Image pull policy | | image.repository | string | `"feastdev/feature-transformation-server"` | Docker image for Transformation Server repository | -| image.tag | string | `"0.32.0"` | Image tag | +| image.tag | string | `"0.33.0"` | Image tag | | nodeSelector | object | `{}` | Node labels for pod assignment | | podLabels | object | `{}` | Labels to be added to Feast Serving pods | | replicaCount | int | `1` | Number of pods that will be created | diff --git a/infra/charts/feast/charts/transformation-service/values.yaml b/infra/charts/feast/charts/transformation-service/values.yaml index f7acc7a1307..b7fdcb66590 100644 --- a/infra/charts/feast/charts/transformation-service/values.yaml +++ b/infra/charts/feast/charts/transformation-service/values.yaml @@ -5,7 +5,7 @@ image: # image.repository -- Docker image for Transformation Server repository repository: feastdev/feature-transformation-server # image.tag -- Image tag - tag: 0.32.0 + tag: 0.33.0 # image.pullPolicy -- Image pull policy pullPolicy: IfNotPresent diff --git a/infra/charts/feast/requirements.yaml b/infra/charts/feast/requirements.yaml index c04b3ee005b..5f855ef5278 100644 --- a/infra/charts/feast/requirements.yaml +++ b/infra/charts/feast/requirements.yaml @@ -1,12 +1,12 @@ dependencies: - name: feature-server alias: feature-server - version: 0.32.0 + version: 0.33.0 condition: feature-server.enabled repository: https://feast-helm-charts.storage.googleapis.com - name: transformation-service alias: transformation-service - version: 0.32.0 + version: 0.33.0 condition: transformation-service.enabled repository: https://feast-helm-charts.storage.googleapis.com - name: redis diff --git a/java/pom.xml b/java/pom.xml index beaa5fb07e6..0aa87a6feab 100644 --- a/java/pom.xml +++ b/java/pom.xml @@ -35,7 +35,7 @@ - 0.32.0 + 0.33.0 https://github.com/feast-dev/feast UTF-8 diff --git a/sdk/python/feast/ui/package.json b/sdk/python/feast/ui/package.json index 0b22aff8844..83722808820 100644 --- a/sdk/python/feast/ui/package.json +++ b/sdk/python/feast/ui/package.json @@ -6,7 +6,7 @@ "@elastic/datemath": "^5.0.3", "@elastic/eui": "^55.0.1", "@emotion/react": "^11.9.0", - "@feast-dev/feast-ui": "0.32.0", + "@feast-dev/feast-ui": "0.33.0", "@testing-library/jest-dom": "^5.16.4", "@testing-library/react": "^13.2.0", "@testing-library/user-event": "^13.5.0", diff --git a/sdk/python/feast/ui/yarn.lock b/sdk/python/feast/ui/yarn.lock index a61d5a1bbf6..28bfee06d1e 100644 --- a/sdk/python/feast/ui/yarn.lock +++ b/sdk/python/feast/ui/yarn.lock @@ -1452,10 +1452,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@feast-dev/feast-ui@0.32.0": - version "0.32.0" - resolved "https://registry.yarnpkg.com/@feast-dev/feast-ui/-/feast-ui-0.32.0.tgz#fb10bd4ead0eb4edcf9d7a7fc357f50c0b9ff656" - integrity sha512-RL3qpZRdsfxMqb/4HqbeFC3qik1gK5cPo+EmdAe8YXJ2IBy2OXXrekHxf1nmNlLQ29Ogg9VZ/LyAmwa8A3LR5w== +"@feast-dev/feast-ui@0.33.0": + version "0.33.0" + resolved "https://registry.yarnpkg.com/@feast-dev/feast-ui/-/feast-ui-0.33.0.tgz#4b8f8c5376103cac1ae0f25d6c9d359e4022707a" + integrity sha512-w+wa+YpFOIbxr4zTmGPuPITQhWfYIWjv7OmL7r/9yLbtQzp/6sKKChGYZwxi6pUu1ECsRc47uuSyhYllav3InQ== dependencies: "@elastic/datemath" "^5.0.3" "@elastic/eui" "^55.0.1" diff --git a/ui/package.json b/ui/package.json index 05579d5c88a..b81276d8257 100644 --- a/ui/package.json +++ b/ui/package.json @@ -1,6 +1,6 @@ { "name": "@feast-dev/feast-ui", - "version": "0.32.0", + "version": "0.33.0", "private": false, "files": [ "dist"