Skip to content

feast-feature-server can't connect to mysql as registry #3218

@ptran32

Description

@ptran32

Expected Behavior

Install feature-server helm-chart, I expect to see the pod running and be able to connect to the remote mysql instance as a registry

Current Behavior

feature-server is unhealthy and can't connect to remote mysql with this error message

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.8/site-packages/click/core.py", line 1130, in __call__
    return self.main(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1055, in main
    rv = self.invoke(ctx)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1657, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 1404, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/local/lib/python3.8/site-packages/click/core.py", line 760, in invoke
    return __callback(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/feast/cli.py", line 704, in serve_command
    store = FeatureStore(repo_path=str(repo_path.resolve()))
  File "/usr/local/lib/python3.8/site-packages/feast/usage.py", line 352, in wrapper
    raise exc.with_traceback(traceback)
  File "/usr/local/lib/python3.8/site-packages/feast/usage.py", line 338, in wrapper
    return func(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/feast/feature_store.py", line 168, in __init__
    self._registry = SqlRegistry(registry_config, None)
  File "/usr/local/lib/python3.8/site-packages/feast/infra/registry/sql.py", line 184, in __init__
    self.engine: Engine = create_engine(registry_config.path, echo=False)
  File "<string>", line 2, in create_engine
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/util/deprecations.py", line 309, in warned
    return fn(*args, **kwargs)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/engine/create.py", line 548, in create_engine
    dbapi = dialect_cls.dbapi(**dbapi_args)
  File "/usr/local/lib/python3.8/site-packages/sqlalchemy/dialects/mysql/mysqldb.py", line 163, in dbapi
    return __import__("MySQLdb")
ModuleNotFoundError: No module named 'MySQLdb'

Steps to reproduce

Use the instructions to deploy feature-server using helm: https://github.com/feast-dev/feast/tree/master/infra/charts/feast-feature-server

Create a file called feature_store.yaml with the content below:

project: feast_python_demo
provider: gcp
online_store:
  type: redis
  connection_string: x.x.x.x:6379
registry:
    registry_type: sql
    path: mysql://user:password@x.x.x.x:3306/feast  
offline_store:
  type: file
entity_key_serialization_version: 2

Run: helm install feast-feature-server feast-charts/feast-feature-server --set feature_store_yaml_base64=$(base64 feature_store.yaml)

Specifications

  • Version: Chart version 0.24.0
  • Platform: Kubernetes version 1.21.14
  • Subsystem:

Possible Solution

Include missing python package in the docker image

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