Skip to content

Go/gRPC Feature Server is not supported even though documentation says that it is #3998

Closed

Description

@peter-resnick

Expected Behavior

running feast serve with a feature_store.yaml has go_feature_serving: True or with --go starts up a Go Server. Using feast server --type=grpc starts up a gRPC server

Current Behavior

When running a feast serve command where the feature_store.yaml has go_feature_serving: True will just start up an HTTP server and ignore your Go Serving config

OR if you explicitly use --go as defined in the documentation - it tells you it doesnt know what to do with Go

If you run feast serve --type=grpc a ValueError: Python server only supports 'http'. Got 'grpc' instead. is raised. The documentation (https://docs.feast.dev/reference/feature-servers/go-feature-server) explicitly talks about the support of Go Serving (and gRPC) and it just plainly does not do that.

After investigating the source code, it's clear that there cli serve command will always use an http type (even though it tells you that you can use both: https://github.com/feast-dev/feast/blob/master/sdk/python/feast/cli.py#L635C1-L642C2. When running a store.serve() there will only be HTTP servers created.

It looks like this was purposefully removed in 0.30.2 but no one ever updated the docs or the click helpers? https://github.com/feast-dev/feast/releases/tag/v0.30.2. It would be best to put this in the documentation so that the documentation actually represents what given version can do. Every branch claims to have this functionality

While the Go Server was always marked as an Alpha feature, this is a huge downer frankly - the marketed ability to use a Go-based server for performance improvements and interact with the server via gRPC was a major draw to the tool. It appears it was never going to be able to do either of those thing unfortunately.

Steps to reproduce

Basically just follow the instructions on how to use a Go Server and it wont work:

project: my_feature_repo
registry: data/registry.db
provider: local
online_store:
  type: redis
  connection_string: "localhost:6379"
go_feature_serving: True

feast serve <- just starts up an HTTP server

feast serve --go <- does know what the --go flag is
feast serve --type=grpc -<- raises ValueError: Python server only supports 'http'. Got 'grpc' instead.

Specifications

  • Version: 0.35.0 (I know we can use 0.29.0 to use Go but not gRPC)
  • Platform: Same issue on both MacOS 12.6.2 and Linux systems
  • Subsystem:

Possible Solution

Put Go servers back in and support gRPC

Activity

  1. jeremyary commented on Mar 7, 2024

    @jeremyary
    Collaborator

    Issue supercedes 3488 👍 thanks for opening

  2. self-assigned this
    on Mar 8, 2024
  3. peter-resnick commented on Mar 11, 2024

    @peter-resnick
    Author

    FWIW - I would be interested in contributing this feature if the maintainers support it.

  4. jeremyary commented on Mar 11, 2024

    @jeremyary
    Collaborator

    @peter-resnick contributors are always welcome - docs improvement or code, all good :) I know of one person looking into some segfault in the area, but we also have others pitching in on discussions around where the go server should go roadmap-wise - plenty of interest, so destined to be some good conversations yet to be had. If you're interested, you can find us over on our Slack server or on our community calls (next of which is tomorrow).

  5. jeremyary commented on Mar 11, 2024

    @jeremyary
    Collaborator

    cc'ing aforementioned @tokoko & @shuchu for awareness ^

  6. removed their assignment
    on Mar 12, 2024
  7. shuchu commented on Mar 12, 2024

    @shuchu
    Collaborator

    @peter-resnick We definitely welcome and support your contribution. :) feel free to propose anything from your expertise.

  8. self-assigned this
    on Mar 18, 2024
  9. removed their assignment
    on Sep 10, 2024
  10. tchughesiv commented on Jan 14, 2025

    @tchughesiv
    Contributor

    fwiw, this was removed with #3554 but it appears the related documentation was never cleaned up.

  11. stale commented on Jun 27, 2025

    @stale

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions