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 — feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf >= 7.34.0 · Issue #6435 · feast-dev/feast

feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf >= 7.34.0 #6435

New issue
Copy link
New issue
Copy link
Closed
#6450
Closed
feature_server.py crashes with TypeError: MessageToDict() got an unexpected keyword argument 'float_precision' on protobuf >= 7.34.0#6435
#6450
Copy link
Labels
kind/bugpriority/p2

Description

@ntkathole
ntkathole
opened on May 27, 2026
Issue body actions

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 Feast's pyproject.toml allows protobuf >= 4.24.0,
fresh installs (including the official quay.io/feastdev/feature-server:latest image) pull
protobuf 7.34.1, which does not accept this argument.

Error

TypeError: MessageToDict() got an unexpected keyword argument 'float_precision'

Full traceback from Gunicorn worker:

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, # <-- removed in protobuf 7.34.0 )

The worker process crashes, Gunicorn master respawns it, and the next request crashes again —
making the online feature server completely non-functional.

Affected Code

sdk/python/feast/feature_server.py — two call sites:

  1. get_online_features endpoint (line ~398–401)
  2. retrieve_online_documents endpoint (line ~440–443)

Both pass float_precision=18 to google.protobuf.json_format.MessageToDict.

Environment

  • Feast version: 0.63.0
  • Image: quay.io/feastdev/feature-server:latest (also quay.io/feastdev-ci/feature-server:develop)
  • Python: 3.12.12
  • protobuf: 7.34.1 (installed by pip as allowed by protobuf>=4.24.0 in pyproject.toml)

Reproducer

# 1. Install feast with latest protobuf
pip install feast

# 2. Verify protobuf version
python -c "import google.protobuf; print(google.protobuf.__version__)"
# Output: 7.34.1

# 3. Reproduce the crash directly
python -c "
from google.protobuf.json_format import MessageToDict
from feast.protos.feast.serving.ServingService_pb2 import GetOnlineFeaturesResponse
resp = GetOnlineFeaturesResponse()
MessageToDict(resp, preserving_proto_field_name=True, float_precision=18)
"

# Output:
# TypeError: MessageToDict() got an unexpected keyword argument 'float_precision'

Or with a running feature server, Any POST to the online server will crash the worker:

curl -X POST https://<feast-server>/get-online-features \
  -H "Content-Type: application/json" \
  -d '{"features": ["my_fv:my_feature"], "entities": {"entity_id": [1]}}'
# Returns: 500 Internal Server Error

Activity

  1. ntkathole
    added
    kind/bug
    priority/p2
    on May 27, 2026
  2. ntkathole
    added 2 commits that reference this issue on May 29, 2026

    test: add regression tests for protobuf >= 7.34.0 compatibility (feas…

    02f200b

    test: add regression tests for protobuf >= 7.34.0 compatibility (#6435)

    a6a2a81
  3. ntkathole
    closed this as completedin #6450on May 29, 2026
  4. jira-autofix
    added a commit that references this issue on May 29, 2026

    fix: restore accidentally deleted TestProtobufCompatibility tests

    9aa7999
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/bugpriority/p2

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      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.