Title: SQL Registry is broken due to caching · Issue #3445 · feast-dev/feast · GitHub
Open Graph Title: SQL Registry is broken due to caching · Issue #3445 · feast-dev/feast
X Title: SQL Registry is broken due to caching · Issue #3445 · feast-dev/feast
Description: Expected Behavior SQL registry works Current Behavior When calling feature_store.get_online_features(), we should get back the features. Steps to reproduce Use any SQL registry and call feature_store.get_online_features(). Traceback (apo...
Open Graph Description: Expected Behavior SQL registry works Current Behavior When calling feature_store.get_online_features(), we should get back the features. Steps to reproduce Use any SQL registry and call feature_sto...
X Description: Expected Behavior SQL registry works Current Behavior When calling feature_store.get_online_features(), we should get back the features. Steps to reproduce Use any SQL registry and call feature_sto...
Opengraph URL: https://github.com/feast-dev/feast/issues/3445
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"SQL Registry is broken due to caching","articleBody":"## Expected Behavior \r\nSQL registry works\r\n\r\n## Current Behavior\r\nWhen calling `feature_store.get_online_features()`, we should get back the features.\r\n\r\n## Steps to reproduce\r\nUse any SQL registry and call `feature_store.get_online_features()`. \r\n\r\nTraceback (apologies for the REDACTED stuff, that has to do with Databricks redacting some stuff which it thinks are secrets:\r\n\r\n```python\r\n/databricks/python/lib/python3.8/site-packages/feast/usage.py in wrapper(*args, **kwargs)\r\n 297 \r\n 298 if traceback:\r\n--\u003e 299 raise exc.with_traceback(traceback)\r\n 300 \r\n 301 raise exc\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/usage.py in wrapper(*args, **kwargs)\r\n 286 \r\n 287 try:\r\n--\u003e 288 return func(*args, **kwargs)\r\n 289 except Exception:\r\n 290 if ctx.exception:\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/feature_store.py in get_online_features(self, features, entity_rows, full_feature_names)\r\n 1586 raise ValueError(\"All entity_rows must have the same keys.\") from e\r\n 1587 \r\n-\u003e 1588 return self._get_online_features(\r\n 1589 features=features,\r\n 1590 entity_values=columnar,\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/feature_store.py in _get_online_features(self, features, entity_values, full_feature_names, native_entity_values)\r\n 1654 requested_request_feature_views,\r\n 1655 requested_on_demand_feature_views,\r\n-\u003e 1656 ) = self._get_feature_views_to_use(\r\n 1657 features=features, allow_cache=True, hide_dummy_entity=False\r\n 1658 )\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/feature_store.py in _get_feature_views_to_use(self, features, allow_cache, hide_dummy_entity)\r\n 2203 fv.name: fv\r\n 2204 for fv in [\r\n-\u003e 2205 *self._list_feature_views(allow_cache, hide_dummy_entity),\r\n 2206 *self._[REDACTED].list_stream_feature_views(\r\n 2207 project=self.project, allow_cache=allow_cache\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/feature_store.py in _list_feature_views(self, allow_cache, hide_dummy_entity)\r\n 287 ) -\u003e List[FeatureView]:\r\n 288 feature_views = []\r\n--\u003e 289 for fv in self._[REDACTED].list_feature_views(\r\n 290 self.project, allow_cache=allow_cache\r\n 291 ):\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/infra/[REDACTED]/sql.py in list_feature_views(self, project, allow_cache)\r\n 535 ) -\u003e List[FeatureView]:\r\n 536 if allow_cache:\r\n--\u003e 537 self._refresh_cached_[REDACTED]_if_necessary()\r\n 538 return proto_[REDACTED]_utils.list_feature_views(\r\n 539 self.cached_[REDACTED]_proto, project\r\n\r\n/databricks/python/lib/python3.8/site-packages/feast/infra/[REDACTED]/sql.py in _refresh_cached_[REDACTED]_if_necessary(self)\r\n 232 \r\n 233 if expired:\r\n--\u003e 234 self.refresh()\r\n 235 \r\n 236 def get_stream_feature_view(\r\n\r\nTypeError: refresh() missing 1 required positional argument: 'project'\r\n```\r\n\r\nThis seems to be caused by triggering a refresh of the registry cache, which expects a `project` parameter, which type hint states that it is optional, but because the method spec does not define a default value, will require a value to be passed in. However, this value is not passed in, causing `self.refresh()` to fail.\r\n\r\n## Possible Solution\r\nIn https://github.com/feast-dev/feast/blob/master/sdk/python/feast/infra/registry/sql.py#L234, change `self.refresh()` to `self.refresh(None)`. Alternatively, change the `refresh` method to have a default value for the `project` parameter (not sure why the parameter is required; it doesn't seem to be used).","author":{"url":"https://github.com/jiewpeng","@type":"Person","name":"jiewpeng"},"datePublished":"2023-01-12T04:17:41.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/3445/feast/issues/3445"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:f10deb0d-2dc8-7a45-9081-31fe3c46399e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | EC38:1381AE:2EF7B88:4206036:69791D96 |
| html-safe-nonce | 31a9d6f6a25d688efde678909974428856ad55f25b7e2cd1fdb1c91c444ac2cd |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJFQzM4OjEzODFBRToyRUY3Qjg4OjQyMDYwMzY6Njk3OTFEOTYiLCJ2aXNpdG9yX2lkIjoiNzk1Njg1ODQzNzI2ODc0MTUyNiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 64fe72f1ac7d3d73e886dc8ebd465efabdd28b54bf140fe78ad9455ef9d44788 |
| hovercard-subject-tag | issue:1530071434 |
| github-keyboard-shortcuts | repository,issues,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/feast-dev/feast/3445/issue_layout |
| twitter:image | https://opengraph.githubassets.com/49244e8f8ce02a64f075afce2b2b20d57fd055cc43272af7b3c76d408b049f65/feast-dev/feast/issues/3445 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/49244e8f8ce02a64f075afce2b2b20d57fd055cc43272af7b3c76d408b049f65/feast-dev/feast/issues/3445 |
| og:image:alt | Expected Behavior SQL registry works Current Behavior When calling feature_store.get_online_features(), we should get back the features. Steps to reproduce Use any SQL registry and call feature_sto... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jiewpeng |
| hostname | github.com |
| expected-hostname | github.com |
| None | 3c7f9dd0916337a11e6ea9c7a54b96960b654425bd4240b9643d6c3af745492e |
| turbo-cache-control | no-preview |
| go-import | github.com/feast-dev/feast git https://github.com/feast-dev/feast.git |
| octolytics-dimension-user_id | 57027613 |
| octolytics-dimension-user_login | feast-dev |
| octolytics-dimension-repository_id | 161133770 |
| octolytics-dimension-repository_nwo | feast-dev/feast |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 161133770 |
| octolytics-dimension-repository_network_root_nwo | feast-dev/feast |
| turbo-body-classes | logged-out env-production page-responsive |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | a2ee5467a024047ab777ae5b5b3ee378f2e75635 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width