Title: feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf >= 7.34.0 · Issue #6435 · feast-dev/feast · GitHub
Open Graph Title: feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf >= 7.34.0 · Issue #6435 · feast-dev/feast
X Title: feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf >= 7.34.0 · Issue #6435 · feast-dev/feast
Description: Summary The feature server crashes on every /get-online-features and /retrieve-online-documents request when running with protobuf >= 7.34.0. The float_precision parameter was deprecated in protobuf 6.32.x and removed in 7.34.0. Since Fe...
Open Graph Description: Summary The feature server crashes on every /get-online-features and /retrieve-online-documents request when running with protobuf >= 7.34.0. The float_precision parameter was deprecated in protobu...
X Description: Summary The feature server crashes on every /get-online-features and /retrieve-online-documents request when running with protobuf >= 7.34.0. The float_precision parameter was deprecated in prot...
Opengraph URL: https://github.com/feast-dev/feast/issues/6435
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf \u003e= 7.34.0","articleBody":"## Summary\n\nThe feature server crashes on every `/get-online-features` and `/retrieve-online-documents` request \nwhen running with `protobuf \u003e= 7.34.0`. The `float_precision` parameter was deprecated in protobuf \n6.32.x and **removed** in 7.34.0. Since Feast's `pyproject.toml` allows `protobuf \u003e= 4.24.0`, \nfresh installs (including the official `quay.io/feastdev/feature-server:latest` image) pull \nprotobuf 7.34.1, which does not accept this argument.\n\n## Error\n\n`TypeError: MessageToDict() got an unexpected keyword argument 'float_precision'`\n\n\nFull traceback from Gunicorn worker:\n\n`File \"/opt/app-root/lib64/python3.12/site-packages/feast/feature_server.py\", line 397 response_dict = await run_in_threadpool( MessageToDict, response.proto, preserving_proto_field_name=True, float_precision=18, # \u003c-- removed in protobuf 7.34.0 )`\n\n\nThe worker process crashes, Gunicorn master respawns it, and the next request crashes again — \nmaking the online feature server completely non-functional.\n\n## Affected Code\n\n`sdk/python/feast/feature_server.py` — two call sites:\n\n1. **`get_online_features` endpoint** (line ~398–401)\n2. **`retrieve_online_documents` endpoint** (line ~440–443)\n\nBoth pass `float_precision=18` to `google.protobuf.json_format.MessageToDict`.\n\n## Environment\n\n- **Feast version:** 0.63.0\n- **Image:** `quay.io/feastdev/feature-server:latest` (also `quay.io/feastdev-ci/feature-server:develop`)\n- **Python:** 3.12.12\n- **protobuf:** 7.34.1 (installed by pip as allowed by `protobuf\u003e=4.24.0` in pyproject.toml)\n\n## Reproducer\n\n```bash\n# 1. Install feast with latest protobuf\npip install feast\n\n# 2. Verify protobuf version\npython -c \"import google.protobuf; print(google.protobuf.__version__)\"\n# Output: 7.34.1\n\n# 3. Reproduce the crash directly\npython -c \"\nfrom google.protobuf.json_format import MessageToDict\nfrom feast.protos.feast.serving.ServingService_pb2 import GetOnlineFeaturesResponse\nresp = GetOnlineFeaturesResponse()\nMessageToDict(resp, preserving_proto_field_name=True, float_precision=18)\n\"\n\n# Output:\n# TypeError: MessageToDict() got an unexpected keyword argument 'float_precision'\n\n```\n\nOr with a running feature server, Any POST to the online server will crash the worker:\n\n```\ncurl -X POST https://\u003cfeast-server\u003e/get-online-features \\\n -H \"Content-Type: application/json\" \\\n -d '{\"features\": [\"my_fv:my_feature\"], \"entities\": {\"entity_id\": [1]}}'\n# Returns: 500 Internal Server Error\n\n```","author":{"url":"https://github.com/ntkathole","@type":"Person","name":"ntkathole"},"datePublished":"2026-05-27T05:54:00.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":0},"url":"https://github.com/6435/feast/issues/6435"}
| 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:4ff095b6-6af7-6a23-a1f8-1246d643680e |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | C678:2F8072:63772E:8B60F5:6A4E71FB |
| html-safe-nonce | dd37be2b985c49bf35112f694f7fa2e20ccfdeae3ce20624fd09e3b12b0c4eb9 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJDNjc4OjJGODA3Mjo2Mzc3MkU6OEI2MEY1OjZBNEU3MUZCIiwidmlzaXRvcl9pZCI6IjM5NTE0OTIyMTMyOTcyNzk0ODMiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | ce440f33b2ba83bb1b5ca9ef27b4e6882489516a33f130680bf86b8e98758b6d |
| hovercard-subject-tag | issue:4529897788 |
| 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/6435/issue_layout |
| twitter:image | https://opengraph.githubassets.com/fe8193a5afafda3e6e7b4a35ce3093ca5fd70ca96489914bf681984c5529cbba/feast-dev/feast/issues/6435 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/fe8193a5afafda3e6e7b4a35ce3093ca5fd70ca96489914bf681984c5529cbba/feast-dev/feast/issues/6435 |
| og:image:alt | Summary The feature server crashes on every /get-online-features and /retrieve-online-documents request when running with protobuf >= 7.34.0. The float_precision parameter was deprecated in protobu... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | ntkathole |
| hostname | github.com |
| expected-hostname | github.com |
| None | 41b6ab3ba6d20a71766ac245b5a4a94c6fc672a9cd4da7d44c1b33ab8bf6a21c |
| 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 | e6a744804e8e70f97b4d5a18a94dcc63db22f97a |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width