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

refactor!: Remove deprecated parameters from Entity and FeatureView #2427

Merged
merged 5 commits into from
Mar 21, 2022

Conversation

felixwang9817
Copy link
Collaborator

What this PR does / why we need it: This PR removes the labels parameter from Entity and the input parameter from FeatureView, both of which were previously deprecated. It also deprecates the option to pass a Duration object as a ttl to a FeatureView.

Which issue(s) this PR fixes:

Fixes #

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
…in FeatureView

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
@felixwang9817 felixwang9817 requested a review from a team as a code owner March 21, 2022 20:15
@felixwang9817 felixwang9817 requested review from adchia and removed request for a team March 21, 2022 20:15
@felixwang9817 felixwang9817 removed the request for review from adchia March 21, 2022 20:15
Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Felix Wang <wangfelix98@gmail.com>
@codecov-commenter
Copy link

Codecov Report

Merging #2427 (00b4756) into master (c6e76a6) will decrease coverage by 0.07%.
The diff coverage is 100.00%.

❗ Current head 00b4756 differs from pull request most recent head bc89e25. Consider uploading reports for the commit bc89e25 to get more accurate results

@@            Coverage Diff             @@
##           master    #2427      +/-   ##
==========================================
- Coverage   83.50%   83.42%   -0.08%     
==========================================
  Files         122      122              
  Lines       10717    10704      -13     
==========================================
- Hits         8949     8930      -19     
- Misses       1768     1774       +6     
Flag Coverage Δ
integrationtests 73.16% <100.00%> (-0.35%) ⬇️
unittests 57.12% <71.42%> (+<0.01%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
...fline_store/test_universal_historical_retrieval.py 100.00% <ø> (ø)
sdk/python/feast/entity.py 93.10% <100.00%> (+2.62%) ⬆️
sdk/python/feast/feature_view.py 91.72% <100.00%> (-0.30%) ⬇️
...python/feast/infra/offline_stores/offline_utils.py 95.78% <100.00%> (ø)
...ests/integration/scaffolding/test_partial_apply.py 100.00% <100.00%> (ø)
sdk/python/feast/wait.py 58.82% <0.00%> (-35.30%) ⬇️
.../integration/online_store/test_universal_online.py 70.82% <0.00%> (-0.71%) ⬇️
sdk/python/feast/flags.py 100.00% <0.00%> (ø)
sdk/python/feast/flags_helper.py 100.00% <0.00%> (ø)
sdk/python/feast/repo_config.py 89.01% <0.00%> (+0.12%) ⬆️
... and 1 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update c6e76a6...bc89e25. Read the comment docs.

@woop
Copy link
Member

woop commented Mar 21, 2022

This PR sparks joy 🚀 💥

@woop
Copy link
Member

woop commented Mar 21, 2022

/lgtm

@woop
Copy link
Member

woop commented Mar 21, 2022

So @felixwang9817 I think we should flag this change as a breaking change, even if gave users some time to migrate away from these fields. If we just make a semantic release commit with a breaking change, like refactor!: Remove deprecated parameters... then semantic release will bump this release to 1.0.0. What I think we should do first is modify the config for https://github.com/semantic-release/commit-analyzer so that breaking changes result in a minor release, then change the PR title here to something like refactor!: Remove support for labels on entities and input on feature views so that the changelog message is clear to users

@felixwang9817 felixwang9817 changed the title refactor: Remove deprecated parameters from Entity and FeatureView refactor!: Remove deprecated parameters from Entity and FeatureView Mar 21, 2022
@felixwang9817
Copy link
Collaborator Author

So @felixwang9817 I think we should flag this change as a breaking change, even if gave users some time to migrate away from these fields. If we just make a semantic release commit with a breaking change, like refactor!: Remove deprecated parameters... then semantic release will bump this release to 1.0.0. What I think we should do first is modify the config for https://github.com/semantic-release/commit-analyzer so that breaking changes result in a minor release, then change the PR title here to something like refactor!: Remove support for labels on entities and input on feature views so that the changelog message is clear to users

@woop sounds good - I just changed the prefix to refactor!. I'll change the commit analyzer in a follow-up PR.

@felixwang9817
Copy link
Collaborator Author

btw @woop I need an approving review for this PR to be merged

@feast-ci-bot
Copy link
Collaborator

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: felixwang9817, woop

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@feast-ci-bot feast-ci-bot merged commit e0041f1 into feast-dev:master Mar 21, 2022
tpvasconcelos pushed a commit to tpvasconcelos/feast that referenced this pull request Mar 22, 2022
…east-dev#2427)

* Remove labels parameter from Entity

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Remove input parameter and deprecate Duration type for ttl parameter in FeatureView

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Change examples to stop using Duration

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Delete unused example feature repo

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Format

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
tpvasconcelos pushed a commit to tpvasconcelos/feast that referenced this pull request Mar 22, 2022
…east-dev#2427)

* Remove labels parameter from Entity

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Remove input parameter and deprecate Duration type for ttl parameter in FeatureView

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Change examples to stop using Duration

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Delete unused example feature repo

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Format

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>
feast-ci-bot pushed a commit that referenced this pull request Mar 22, 2022
* add py.typed marker

Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* add py.typed to MANIFEST.in

Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* ignore mypy error from generated protos modules

Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* revert: ignore mypy error from generated protos modules

Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* reorder imports

Signed-off-by: Achal Shah <achals@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* sort imports

Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* sort imports

Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* feat: Allow using entity's join_key in get_online_features (#2420)

* allowing using entity's join_key in get_online_features

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>

* fix tests

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* fix!: GetOnlineFeatureResponse in Python feature server should be consisten… (#2418)

* GetOnlineFeatureResponse in Python feature server should be consistent with Java implementation

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>

* fix local e2e test

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>

* reuse timestamp in response generation

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* chore: Adding documentation on community calendar + newsletter + updating CONTRIBUTING.md (#2425)

* chore: Adding documentation on community calendar + newsletter and cross linking more on how to contribute to Feast

Signed-off-by: Danny Chiao <danny@tecton.ai>

* fix PR template

Signed-off-by: Danny Chiao <danny@tecton.ai>

* fix PR template

Signed-off-by: Danny Chiao <danny@tecton.ai>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* feat: Graduate write_to_online_store out of experimental status (#2426)

Signed-off-by: Achal Shah <achals@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* refactor!: Remove deprecated parameters from Entity and FeatureView (#2427)

* Remove labels parameter from Entity

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Remove input parameter and deprecate Duration type for ttl parameter in FeatureView

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Change examples to stop using Duration

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Delete unused example feature repo

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Format

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* ci: Modify release script to only do minor release for breaking changes (#2431)

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* fix: Ensure that __init__ files exist in proto dirs (#2433)

Signed-off-by: Achal Shah <achals@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* feat: Allow using entity's join_key in get_online_features (#2420)

* allowing using entity's join_key in get_online_features

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>

* fix tests

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* fix!: GetOnlineFeatureResponse in Python feature server should be consisten… (#2418)

* GetOnlineFeatureResponse in Python feature server should be consistent with Java implementation

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>

* fix local e2e test

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>

* reuse timestamp in response generation

Signed-off-by: pyalex <moskalenko.alexey@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* chore: Adding documentation on community calendar + newsletter + updating CONTRIBUTING.md (#2425)

* chore: Adding documentation on community calendar + newsletter and cross linking more on how to contribute to Feast

Signed-off-by: Danny Chiao <danny@tecton.ai>

* fix PR template

Signed-off-by: Danny Chiao <danny@tecton.ai>

* fix PR template

Signed-off-by: Danny Chiao <danny@tecton.ai>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* feat: Graduate write_to_online_store out of experimental status (#2426)

Signed-off-by: Achal Shah <achals@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* refactor!: Remove deprecated parameters from Entity and FeatureView (#2427)

* Remove labels parameter from Entity

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Remove input parameter and deprecate Duration type for ttl parameter in FeatureView

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Change examples to stop using Duration

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Delete unused example feature repo

Signed-off-by: Felix Wang <wangfelix98@gmail.com>

* Format

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* ci: Modify release script to only do minor release for breaking changes (#2431)

Signed-off-by: Felix Wang <wangfelix98@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

* fix: Ensure that __init__ files exist in proto dirs (#2433)

Signed-off-by: Achal Shah <achals@gmail.com>
Signed-off-by: Tomas Pereira de Vasconcelos <tomasvasconcelos1@gmail.com>

Co-authored-by: Achal Shah <achals@gmail.com>
Co-authored-by: Oleksii Moskalenko <moskalenko.alexey@gmail.com>
Co-authored-by: Danny Chiao <danny@tecton.ai>
Co-authored-by: Felix Wang <wangfelix98@gmail.com>
achals pushed a commit that referenced this pull request Apr 14, 2022
# [0.20.0](v0.19.0...v0.20.0) (2022-04-14)

### Bug Fixes

* Add inlined data sources to the top level registry ([#2456](#2456)) ([356788a](356788a))
* Add new value types to types.ts for web ui ([#2463](#2463)) ([ad5694e](ad5694e))
* Add PushSource proto and Python class ([#2428](#2428)) ([9a4bd63](9a4bd63))
* Add spark to lambda dockerfile ([#2480](#2480)) ([514666f](514666f))
* Added private_key auth for Snowflake ([#2508](#2508)) ([c42c9b0](c42c9b0))
* Added Redshift and Spark typecheck to data_source event_timestamp_col inference ([#2389](#2389)) ([04dea73](04dea73))
* Building of go extension fails ([#2448](#2448)) ([7d1efd5](7d1efd5))
* Bump the number of versions bumps expected to 27 ([#2549](#2549)) ([ecc9938](ecc9938))
* Create __init__ files for the proto-generated python dirs ([#2410](#2410)) ([e17028d](e17028d))
* Don't prevent apply from running given duplicate empty names in data sources. Also fix repeated apply of Spark data source. ([#2415](#2415)) ([b95f441](b95f441))
* Dynamodb deduplicate batch write request by partition keys ([#2515](#2515)) ([70d4a13](70d4a13))
* Ensure that __init__ files exist in proto dirs ([#2433](#2433)) ([9b94f7b](9b94f7b))
* Fix DataSource constructor to unbreak custom data sources ([#2492](#2492)) ([712653e](712653e))
* Fix default feast apply path without any extras ([#2373](#2373)) ([6ba7fc7](6ba7fc7))
* Fix definitions.py with new definition ([#2541](#2541)) ([eefc34a](eefc34a))
* Fix entity row to use join key instead of name ([#2521](#2521)) ([c22fa2c](c22fa2c))
* Fix Java Master ([#2499](#2499)) ([e083458](e083458))
* Fix registry proto ([#2435](#2435)) ([ea6a9b2](ea6a9b2))
* Fix some inconsistencies in the docs and comments in the code ([#2444](#2444)) ([ad008bf](ad008bf))
* Fix spark docs ([#2382](#2382)) ([d4a606a](d4a606a))
* Fix Spark template to work correctly on feast init -t spark ([#2393](#2393)) ([ae133fd](ae133fd))
* Fix the feature repo fixture used by java tests  ([#2469](#2469)) ([32e925e](32e925e))
* Fix unhashable Snowflake and Redshift sources ([cd8f1c9](cd8f1c9))
* Fixed bug in passing config file params to snowflake python connector ([#2503](#2503)) ([34f2b59](34f2b59))
* Fixing Spark template to include source name ([#2381](#2381)) ([a985f1d](a985f1d))
* Make name a keyword arg for the Entity class ([#2467](#2467)) ([43847de](43847de))
* Making a name for data sources not a breaking change ([#2379](#2379)) ([71d7ae2](71d7ae2))
* Minor link fix in `CONTRIBUTING.md` ([#2481](#2481)) ([2917e27](2917e27))
* Preserve ordering of features in _get_column_names ([#2457](#2457)) ([495b435](495b435))
* Relax click python requirement to >=7 ([#2450](#2450)) ([f202f92](f202f92))
* Remove date partition column field from datasources that don't s… ([#2478](#2478)) ([ce35835](ce35835))
* Remove docker step from unit test workflow ([#2535](#2535)) ([6f22f22](6f22f22))
* Remove spark from the AWS Lambda dockerfile ([#2498](#2498)) ([6abae16](6abae16))
* Request data api update ([#2488](#2488)) ([0c9e5b7](0c9e5b7))
* Schema update ([#2509](#2509)) ([cf7bbc2](cf7bbc2))
* Simplify DataSource.from_proto logic ([#2424](#2424)) ([6bda4d2](6bda4d2))
* Snowflake api update ([#2487](#2487)) ([1181a9e](1181a9e))
* Support passing batch source to streaming sources for backfills ([#2523](#2523)) ([90db1d1](90db1d1))
* Timestamp update ([#2486](#2486)) ([bf23111](bf23111))
* Typos in Feast UI error message ([#2432](#2432)) ([e14369d](e14369d))
* Update feature view APIs to prefer keyword args ([#2472](#2472)) ([7c19cf7](7c19cf7))
* Update file api ([#2470](#2470)) ([83a11c6](83a11c6))
* Update Makefile to cd into python dir before running commands ([#2437](#2437)) ([ca32155](ca32155))
* Update redshift api ([#2479](#2479)) ([4fa73a9](4fa73a9))
* Update some fields optional in UI parser ([#2380](#2380)) ([cff7ac3](cff7ac3))
* Use a single version of jackson libraries and upgrade to 2.12.6.1 ([#2473](#2473)) ([5be1cc6](5be1cc6))
* Use dateutil parser to parse materialization times ([#2464](#2464)) ([6c55e49](6c55e49))
* Use the correct dockerhub image tag when building feature servers ([#2372](#2372)) ([0d62c1d](0d62c1d))

### Features

* Add `/write-to-online-store` method to the python feature server ([#2423](#2423)) ([d2fb048](d2fb048))
* Add description, tags, owner fields to all feature view classes ([#2440](#2440)) ([ed5e928](ed5e928))
* Add DQM Logging on GRPC Server with FileLogStorage for Testing ([#2403](#2403)) ([57a97d8](57a97d8))
* Add Feast types in preparation for changing type system ([#2475](#2475)) ([4864252](4864252))
* Add Field class ([#2500](#2500)) ([1279612](1279612))
* Add support for DynamoDB online_read in batches ([#2371](#2371)) ([702ec49](702ec49))
* Add Support for DynamodbOnlineStoreConfig endpoint_url parameter ([#2485](#2485)) ([7b863d1](7b863d1))
* Add templating for dynamodb table name ([#2394](#2394)) ([f591088](f591088))
* Allow local feature server to use Go feature server if enabled ([#2538](#2538)) ([a2ef375](a2ef375))
* Allow using entity's join_key in get_online_features ([#2420](#2420)) ([068c765](068c765))
* Data Source Api Update ([#2468](#2468)) ([6b96b21](6b96b21))
* Go server ([#2339](#2339)) ([d12e7ef](d12e7ef)), closes [#2354](#2354) [#2361](#2361) [#2332](#2332) [#2356](#2356) [#2363](#2363) [#2349](#2349) [#2355](#2355) [#2336](#2336) [#2361](#2361) [#2363](#2363) [#2344](#2344) [#2354](#2354) [#2347](#2347) [#2350](#2350) [#2356](#2356) [#2355](#2355) [#2349](#2349) [#2352](#2352) [#2341](#2341) [#2336](#2336) [#2373](#2373) [#2315](#2315) [#2372](#2372) [#2332](#2332) [#2349](#2349) [#2336](#2336) [#2361](#2361) [#2363](#2363) [#2344](#2344) [#2354](#2354) [#2347](#2347) [#2350](#2350) [#2356](#2356) [#2355](#2355) [#2349](#2349) [#2352](#2352) [#2341](#2341) [#2336](#2336) [#2373](#2373) [#2379](#2379) [#2380](#2380) [#2382](#2382) [#2364](#2364) [#2366](#2366) [#2386](#2386)
* Graduate write_to_online_store out of experimental status ([#2426](#2426)) ([e7dd4b7](e7dd4b7))
* Make feast PEP 561 compliant ([#2405](#2405)) ([3c41f94](3c41f94)), closes [#2420](#2420) [#2418](#2418) [#2425](#2425) [#2426](#2426) [#2427](#2427) [#2431](#2431) [#2433](#2433) [#2420](#2420) [#2418](#2418) [#2425](#2425) [#2426](#2426) [#2427](#2427) [#2431](#2431) [#2433](#2433)
* Makefile for contrib for Issue [#2364](#2364) ([#2366](#2366)) ([a02325b](a02325b))
* Support on demand feature views in go feature server ([#2494](#2494)) ([6edd274](6edd274))
* Switch from Feature to Field ([#2514](#2514)) ([6a03bed](6a03bed))
* Use a daemon thread to monitor the go feature server exclusively ([#2391](#2391)) ([0bb5e8c](0bb5e8c))
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants