GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — fix: Performance regression in /get-online-features by robhowley · Pull Request #4892 · feast-dev/feast

Conversation

@robhowley

@robhowley robhowley commented Jan 3, 2025

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

  • describing a performance regression due to the blocking operations in the /get-online-features async path operation (see issue Calls to the get_online_features API are slower in v0.42.0 than in v0.40.1 #4887)
  • put the feature collection and response serialization in thread pool

Which issue(s) this PR fixes:

Fixes #4887

Misc

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
robhowley added 6 commits January 3, 2025 16:42
@robhowley
put blocking opps in get online features in threadpool
8bbf852
Signed-off-by: Rob Howley <[email protected]>
@robhowley
chore: leave comment in path operation
9d87ff0
Signed-off-by: Rob Howley <[email protected]>
@robhowley
use quoted type hint
13fc65a
Signed-off-by: Rob Howley <[email protected]>
@robhowley
remove hint
254ae7e
Signed-off-by: Rob Howley <[email protected]>
@robhowley
Merge pull request #10 from robhowley/rh-4887
9a0ce25
put blocking opps in get online features in threadpool
@robhowley
Merge branch 'feast-dev:master' into master
1bdadc0
@robhowley robhowley changed the title fix: performance regression in /get-online-features fix: Performance regression in /get-online-features Jan 3, 2025
@robhowley

robhowley commented Jan 3, 2025

Copy link
Copy Markdown
Contributor Author

@jparkzz is this more or less what you had in mind? any chance you could try and replicate that graph using this branch?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@robhowley
robhowley marked this pull request as ready for review January 13, 2025 18:38
@robhowley
robhowley requested a review from a team as a code owner January 13, 2025 18:38
@franciscojavierarceo franciscojavierarceo added the ok-to-test label Jan 13, 2025
franciscojavierarceo
franciscojavierarceo approved these changes Jan 15, 2025
View reviewed changes

@franciscojavierarceo franciscojavierarceo left a comment

Copy link
Copy Markdown
Member

There was a problem hiding this comment.

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

robhowley reacted with rocket emoji
All reactions
  • 🚀 1 reaction
@franciscojavierarceo
franciscojavierarceo merged commit 0db56a2 into feast-dev:master Jan 15, 2025
franciscojavierarceo pushed a commit that referenced this pull request Jan 20, 2025
@feast-ci-bot
chore(release): release 0.43.0
5a7e6f8
# [0.43.0](v0.42.0...v0.43.0) (2025-01-20)

### Bug Fixes

* Add k8s module to feature-server image ([#4839](#4839)) ([f565565](f565565))
* Adding input to workflow ([e3e8c97](e3e8c97))
* Change image push to use --all-tags option ([#4926](#4926)) ([02458fd](02458fd))
* Fix integration build/push for images ([#4923](#4923)) ([695e49b](695e49b))
* Fix integration operator push ([#4924](#4924)) ([13c7267](13c7267))
* Fix release.yml ([#4845](#4845)) ([b4768a8](b4768a8))
* Fixing some of the warnings with the github actions ([#4763](#4763)) ([1119439](1119439))
* Improve status.applied updates & add offline pvc unit test ([#4871](#4871)) ([3f49517](3f49517))
* Made fixes to Go Operator DB persistence ([#4830](#4830)) ([cdc0753](cdc0753))
* Make transformation_service_endpoint configuration optional ([#4880](#4880)) ([c62377b](c62377b))
* Move pre-release image builds to quay.io, retire gcr.io pushes ([#4922](#4922)) ([40b975b](40b975b))
* Performance regression in /get-online-features ([#4892](#4892)) ([0db56a2](0db56a2))
* Refactor Operator to deploy all feast services to the same Deployment/Pod ([#4863](#4863)) ([88854dd](88854dd))
* Remove unnecessary google cloud steps & upgrade docker action versions ([#4925](#4925)) ([32aaf9a](32aaf9a))
* Remove verifyClient TLS offlineStore option from the Operator ([#4847](#4847)) ([79fa247](79fa247))
* Resolving syntax error while querying a feature view with column name starting with a number and BigQuery as data source ([#4908](#4908)) ([d3495a0](d3495a0))
* Updated python-helm-demo example to use MinIO instead of GS ([#4691](#4691)) ([31afd99](31afd99))

### Features

* Add date field support to spark ([#4913](#4913)) ([a8aeb79](a8aeb79))
* Add date support when converting from python to feast types ([#4918](#4918)) ([bd9f071](bd9f071))
* Add duckdb extra to multicloud release image ([#4862](#4862)) ([b539eba](b539eba))
* Add milvus package to release image & option to Operator ([#4870](#4870)) ([ef724b6](ef724b6))
* Add Milvus Vector Database Implementation ([#4751](#4751)) ([22c7b58](22c7b58))
* Add online/offline replica support ([#4812](#4812)) ([b97da6c](b97da6c))
* Added pvc accessModes support ([#4851](#4851)) ([a73514c](a73514c))
* Adding EnvFrom support for the OptionalConfigs type to the Go Operator ([#4909](#4909)) ([e01e510](e01e510))
* Adding Feature Server to components docs ([#4868](#4868)) ([f95e54b](f95e54b))
* Adding features field to retrieve_online_features to return mor… ([#4869](#4869)) ([7df287e](7df287e))
* Adding packages for Milvus Online Store ([#4854](#4854)) ([49171bd](49171bd))
* Adding vector_search parameter to fields ([#4855](#4855)) ([739eaa7](739eaa7))
* Feast Operator support log level configuration for services ([#4808](#4808)) ([19424bc](19424bc))
* Go Operator - Parsing the output to go structs ([#4832](#4832)) ([732865f](732865f))
* Implement `date_partition_column` for `SparkSource` ([#4844](#4844)) ([c5ffa03](c5ffa03))
* Loading the CA trusted store certificate into Feast to verify the public certificate. ([#4852](#4852)) ([132ce2a](132ce2a))
* Operator E2E test to validate FeatureStore custom resource using remote registry ([#4822](#4822)) ([d558ef7](d558ef7))
* Operator improvements ([#4928](#4928)) ([7a1f4dd](7a1f4dd))
* Removing the tls_verify_client flag from feast cli for offline server. ([#4842](#4842)) ([8320e23](8320e23))
* Separating the RBAC and Remote related integration tests. ([#4905](#4905)) ([76e1e21](76e1e21))
* Snyk vulnerability issues fix. ([#4867](#4867)) ([dbc9207](dbc9207)), closes [#6](#6) [#3](#3) [#4](#4)
* Use ASOF JOIN in Snowflake offline store query ([#4850](#4850)) ([8f591a2](8f591a2))

### Reverts

* Revert "chore: Add Milvus to pr_integration_tests.yml" ([#4900](#4900)) ([07958f7](07958f7)), closes [#4891](#4891)
tmihalac pushed a commit to opendatahub-io/feast that referenced this pull request Jan 21, 2025
@robhowley @tmihalac
fix: Performance regression in /get-online-features (feast-dev#4892)
3103a14
* put blocking opps in get online features in threadpool

Signed-off-by: Rob Howley <[email protected]>

* chore: leave comment in path operation

Signed-off-by: Rob Howley <[email protected]>

* use quoted type hint

Signed-off-by: Rob Howley <[email protected]>

* remove hint

Signed-off-by: Rob Howley <[email protected]>

---------

Signed-off-by: Rob Howley <[email protected]>
tmihalac pushed a commit to opendatahub-io/feast that referenced this pull request Jan 21, 2025
@feast-ci-bot @tmihalac
chore(release): release 0.43.0
520cf53
# [0.43.0](feast-dev/feast@v0.42.0...v0.43.0) (2025-01-20)

### Bug Fixes

* Add k8s module to feature-server image ([feast-dev#4839](feast-dev#4839)) ([f565565](feast-dev@f565565))
* Adding input to workflow ([e3e8c97](feast-dev@e3e8c97))
* Change image push to use --all-tags option ([feast-dev#4926](feast-dev#4926)) ([02458fd](feast-dev@02458fd))
* Fix integration build/push for images ([feast-dev#4923](feast-dev#4923)) ([695e49b](feast-dev@695e49b))
* Fix integration operator push ([feast-dev#4924](feast-dev#4924)) ([13c7267](feast-dev@13c7267))
* Fix release.yml ([feast-dev#4845](feast-dev#4845)) ([b4768a8](feast-dev@b4768a8))
* Fixing some of the warnings with the github actions ([feast-dev#4763](feast-dev#4763)) ([1119439](feast-dev@1119439))
* Improve status.applied updates & add offline pvc unit test ([feast-dev#4871](feast-dev#4871)) ([3f49517](feast-dev@3f49517))
* Made fixes to Go Operator DB persistence ([feast-dev#4830](feast-dev#4830)) ([cdc0753](feast-dev@cdc0753))
* Make transformation_service_endpoint configuration optional ([feast-dev#4880](feast-dev#4880)) ([c62377b](feast-dev@c62377b))
* Move pre-release image builds to quay.io, retire gcr.io pushes ([feast-dev#4922](feast-dev#4922)) ([40b975b](feast-dev@40b975b))
* Performance regression in /get-online-features ([feast-dev#4892](feast-dev#4892)) ([0db56a2](feast-dev@0db56a2))
* Refactor Operator to deploy all feast services to the same Deployment/Pod ([feast-dev#4863](feast-dev#4863)) ([88854dd](feast-dev@88854dd))
* Remove unnecessary google cloud steps & upgrade docker action versions ([feast-dev#4925](feast-dev#4925)) ([32aaf9a](feast-dev@32aaf9a))
* Remove verifyClient TLS offlineStore option from the Operator ([feast-dev#4847](feast-dev#4847)) ([79fa247](feast-dev@79fa247))
* Resolving syntax error while querying a feature view with column name starting with a number and BigQuery as data source ([feast-dev#4908](feast-dev#4908)) ([d3495a0](feast-dev@d3495a0))
* Updated python-helm-demo example to use MinIO instead of GS ([feast-dev#4691](feast-dev#4691)) ([31afd99](feast-dev@31afd99))

### Features

* Add date field support to spark ([feast-dev#4913](feast-dev#4913)) ([a8aeb79](feast-dev@a8aeb79))
* Add date support when converting from python to feast types ([feast-dev#4918](feast-dev#4918)) ([bd9f071](feast-dev@bd9f071))
* Add duckdb extra to multicloud release image ([feast-dev#4862](feast-dev#4862)) ([b539eba](feast-dev@b539eba))
* Add milvus package to release image & option to Operator ([feast-dev#4870](feast-dev#4870)) ([ef724b6](feast-dev@ef724b6))
* Add Milvus Vector Database Implementation ([feast-dev#4751](feast-dev#4751)) ([22c7b58](feast-dev@22c7b58))
* Add online/offline replica support ([feast-dev#4812](feast-dev#4812)) ([b97da6c](feast-dev@b97da6c))
* Added pvc accessModes support ([feast-dev#4851](feast-dev#4851)) ([a73514c](feast-dev@a73514c))
* Adding EnvFrom support for the OptionalConfigs type to the Go Operator ([feast-dev#4909](feast-dev#4909)) ([e01e510](feast-dev@e01e510))
* Adding Feature Server to components docs ([feast-dev#4868](feast-dev#4868)) ([f95e54b](feast-dev@f95e54b))
* Adding features field to retrieve_online_features to return mor… ([feast-dev#4869](feast-dev#4869)) ([7df287e](feast-dev@7df287e))
* Adding packages for Milvus Online Store ([feast-dev#4854](feast-dev#4854)) ([49171bd](feast-dev@49171bd))
* Adding vector_search parameter to fields ([feast-dev#4855](feast-dev#4855)) ([739eaa7](feast-dev@739eaa7))
* Feast Operator support log level configuration for services ([feast-dev#4808](feast-dev#4808)) ([19424bc](feast-dev@19424bc))
* Go Operator - Parsing the output to go structs ([feast-dev#4832](feast-dev#4832)) ([732865f](feast-dev@732865f))
* Implement `date_partition_column` for `SparkSource` ([feast-dev#4844](feast-dev#4844)) ([c5ffa03](feast-dev@c5ffa03))
* Loading the CA trusted store certificate into Feast to verify the public certificate. ([feast-dev#4852](feast-dev#4852)) ([132ce2a](feast-dev@132ce2a))
* Operator E2E test to validate FeatureStore custom resource using remote registry ([feast-dev#4822](feast-dev#4822)) ([d558ef7](feast-dev@d558ef7))
* Operator improvements ([feast-dev#4928](feast-dev#4928)) ([7a1f4dd](feast-dev@7a1f4dd))
* Removing the tls_verify_client flag from feast cli for offline server. ([feast-dev#4842](feast-dev#4842)) ([8320e23](feast-dev@8320e23))
* Separating the RBAC and Remote related integration tests. ([feast-dev#4905](feast-dev#4905)) ([76e1e21](feast-dev@76e1e21))
* Snyk vulnerability issues fix. ([feast-dev#4867](feast-dev#4867)) ([dbc9207](feast-dev@dbc9207)), closes [#6](feast-dev#6) [#3](feast-dev#3) [#4](feast-dev#4)
* Use ASOF JOIN in Snowflake offline store query ([feast-dev#4850](feast-dev#4850)) ([8f591a2](feast-dev@8f591a2))

### Reverts

* Revert "chore: Add Milvus to pr_integration_tests.yml" ([feast-dev#4900](feast-dev#4900)) ([07958f7](feast-dev@07958f7)), closes [feast-dev#4891](feast-dev#4891)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@franciscojavierarceo franciscojavierarceo franciscojavierarceo approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

ok-to-test

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Calls to the get_online_features API are slower in v0.42.0 than in v0.40.1

Uh oh!

There was an error while loading. Please reload this page.

2 participants

@robhowley @franciscojavierarceo
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.