Title: Azure MSSQL Backend (and possibly others) Broken SQLAlchemy `Engine` objects interactions with `pandas.read_sql()` · Issue #4066 · feast-dev/feast · GitHub
Open Graph Title: Azure MSSQL Backend (and possibly others) Broken SQLAlchemy `Engine` objects interactions with `pandas.read_sql()` · Issue #4066 · feast-dev/feast
X Title: Azure MSSQL Backend (and possibly others) Broken SQLAlchemy `Engine` objects interactions with `pandas.read_sql()` · Issue #4066 · feast-dev/feast
Description: Expected Behavior feast cli commands like feast plan work when using a mssql offline store Current Behavior Currently, repos with mssql offline store are broken when appying feast cli commands. The following occurs: File "/Library/Framew...
Open Graph Description: Expected Behavior feast cli commands like feast plan work when using a mssql offline store Current Behavior Currently, repos with mssql offline store are broken when appying feast cli commands. The...
X Description: Expected Behavior feast cli commands like feast plan work when using a mssql offline store Current Behavior Currently, repos with mssql offline store are broken when appying feast cli commands. The...
Opengraph URL: https://github.com/feast-dev/feast/issues/4066
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Azure MSSQL Backend (and possibly others) Broken SQLAlchemy `Engine` objects interactions with `pandas.read_sql()`","articleBody":"## Expected Behavior \r\n\r\n`feast` cli commands like `feast plan` work when using a `mssql` offline store\r\n\r\n## Current Behavior\r\n\r\nCurrently, repos with `mssql` offline store are broken when appying feast cli commands. The following occurs:\r\n\r\n```\r\n File \"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/feast/repo_operations.py\", line 218, in plan\r\n data_source.validate(store.config)\r\n File \"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/feast/infra/offline_stores/contrib/mssql_offline_store/mssqlserver_source.py\", line 215, in validate\r\n self.get_table_column_names_and_types(config)\r\n File \"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/feast/infra/offline_stores/contrib/mssql_offline_store/mssqlserver_source.py\", line 243, in get_table_column_names_and_types\r\n table_schema = pandas.read_sql(columns_query, conn)\r\n File \"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/sql.py\", line 706, in read_sql\r\n return pandas_sql.read_query(\r\n File \"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/sql.py\", line 2736, in read_query\r\n cursor = self.execute(sql, params)\r\n File \"/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages/pandas/io/sql.py\", line 2670, in execute\r\n cur = self.con.cursor()\r\nAttributeError: 'Engine' object has no attribute 'cursor'\r\n```\r\n## Steps to reproduce\r\n\r\nwith a feature store YAML of:\r\n\r\n```\r\nproject: myproject\r\nprovider: azure\r\nregistry:\r\n registry_type: sql\r\n path: ${SQL_REGISTRY_CONNECTION_STRING}\r\noffline_store: \r\n type: mssql\r\n connection_string: ${SQL_OFFLINE_CONNECTION_STRING}\r\nonline_store:\r\n type: redis\r\n redis_type: redis_cluster\r\n connection_string: ${REDIS_CONNECTION_STRING}\r\nentity_key_serialization_version: 2\r\n```\r\nwhen we run `feast plan` - we get the above errors.\r\n\r\nThis may impact other providers, but I've only confirmed it with `azure` provider\r\n### Specifications\r\n\r\n- Version: 0.35.0\r\n- Platform: Mac + Linux (probably others)\r\n- Subsystem:\r\n\r\n## Possible Solution\r\nI think this is a really a `SQLAlchemy` versioning issue, I resolved the problem by pinning \r\n`SQLAlchemy\u003c1.4.52`\r\n\r\nIf we just update the `AZURE_REQUIRED` to:\r\n```\r\nAZURE_REQUIRED = [\r\n \"azure-storage-blob\u003e=0.37.0\",\r\n \"azure-identity\u003e=1.6.1\",\r\n \"SQLAlchemy\u003e=1.4.19,\u003c1.4.52\",\r\n \"pyodbc\u003e=4.0.30\",\r\n \"pymssql\",\r\n] \r\n```\r\n\r\nI think we'd avoid this issue","author":{"url":"https://github.com/peter-resnick","@type":"Person","name":"peter-resnick"},"datePublished":"2024-04-02T18:47:19.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":3},"url":"https://github.com/4066/feast/issues/4066"}
| 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:e3ddf52f-0688-5b92-38bf-f2bd9770e341 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | CD56:316541:294F197:376FCA8:6972E3DC |
| html-safe-nonce | 1ef9e5b47c8fb4a2e4cf9a8cb0924a21cd3f1e0e2055775aef87df26d67dba64 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDRDU2OjMxNjU0MToyOTRGMTk3OjM3NkZDQTg6Njk3MkUzREMiLCJ2aXNpdG9yX2lkIjoiODUzNjkwODcyNTY2OTI1ODIwNCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 0f0f025194c79354d03e0098d723b0be6e4f570120c52e6e1406fc58c2e928bb |
| hovercard-subject-tag | issue:2221193850 |
| 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/4066/issue_layout |
| twitter:image | https://opengraph.githubassets.com/4e34d49c4521984ce89c7b93a63c3bce707fe4f1b370cbf73bc1d438183e8795/feast-dev/feast/issues/4066 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/4e34d49c4521984ce89c7b93a63c3bce707fe4f1b370cbf73bc1d438183e8795/feast-dev/feast/issues/4066 |
| og:image:alt | Expected Behavior feast cli commands like feast plan work when using a mssql offline store Current Behavior Currently, repos with mssql offline store are broken when appying feast cli commands. The... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | peter-resnick |
| hostname | github.com |
| expected-hostname | github.com |
| None | 824b30a290fe1f3775d1c3b755ace6ec71165752363f95d9255c1b87220040e4 |
| 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 | 7ef892904a22cef6ce15e4347cbf70e4cbfdc883 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width