Skip to content

Containerized registry server fails on startup due to a ModuleNotFoundError #4729

@tchughesiv

Description

@tchughesiv

Expected Behavior

Registry server should run without issue when using the feastdev/feature-server:0.41.3 container image.

Current Behavior

In the latest feast release image, registry server errors on startup and the container stops. The following error is thrown -
ModuleNotFoundError: No module named 'grpc_health'

Steps to reproduce

$ podman run -ti -e FEATURE_STORE_YAML_BASE64="cHJvamVjdDogdGVzdApwcm92aWRlcjogbG9jYWwKcmVnaXN0cnk6CiAgICBwYXRoOiAvdG1wL3JlZ2lzdHJ5LmRiCiAgICByZWdpc3RyeV90eXBlOiBmaWxlCmVudGl0eV9rZXlfc2VyaWFsaXphdGlvbl92ZXJzaW9uOiAzCg==" feastdev/feature-server:0.41.3 feast serve_registry

Received base64 encoded feature_store.yaml
Traceback (most recent call last):
  File "/usr/local/bin/feast", line 8, in <module>
    sys.exit(cli())
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1688, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.9/dist-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/click/decorators.py", line 33, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.9/dist-packages/feast/cli.py", line 1043, in serve_registry_command
    store.serve_registry(port)
  File "/usr/local/lib/python3.9/dist-packages/feast/feature_store.py", line 1954, in serve_registry
    from feast import registry_server
  File "/usr/local/lib/python3.9/dist-packages/feast/registry_server.py", line 7, in <module>
    from grpc_health.v1 import health, health_pb2, health_pb2_grpc
ModuleNotFoundError: No module named 'grpc_health'

This appears to only impact the registry server... whereas online and offline startup fine.
Its also worth noting that this bug doesn't present itself when running in the cli directly (no container).

Specifications

  • Version: 0.41.3
  • Platform: Any container runtime

Possible Solution

Possibly related to / caused by #4421

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