◐ Shell
clean mode source ↗

feat(go): Add MySQL registry store support for Go feature server by PepeluDev · Pull Request #5933 · feast-dev/feast

devin-ai-integration[bot]

This adds support for reading Feast registry data from a MySQL database
in the Go feature server, enabling parity with the Python SDK's SQL
registry store.

- `mysql_registry_store.go`: MySQL registry store implementation
  - Parses SQLAlchemy-style URLs (mysql://user:pass@host:port/db)
  - Reads all registry tables (projects, entities, feature_views, etc.)
  - Uses generics for type-safe protobuf unmarshaling
  - Configurable connection pool settings

- `mysql_registry_store_test.go`: Unit tests using in-memory SQLite
  - Tests registry loading with schema matching Python SQLAlchemy
  - Tests scheme routing for mysql:// URLs

- `registry.go`: Added mysql scheme routing and MySQLRegistryStore factory
- `repoconfig.go`: Added MySQL connection pool configuration options
  - mysql_max_open_conns (default: 20)
  - mysql_max_idle_conns (default: 10)
  - mysql_conn_max_lifetime_seconds (default: 300)
- `repoconfig_test.go`: Added tests for new MySQL config options

Users can configure the MySQL registry in feature_store.yaml:

```yaml
registry:
  path: mysql://user:password@localhost:3306/feast_registry
  mysql_max_open_conns: 20
  mysql_max_idle_conns: 10
  mysql_conn_max_lifetime_seconds: 300
```

The Go implementation reads from the same schema as the Python
SQLAlchemy registry (sdk/python/feast/infra/registry/sql.py).
When the Python schema evolves, the Go queries must be updated.

Signed-off-by: PepeluDev <joseluislobell@gmail.com>
Signed-off-by: PepeluDev <joseluislobell@gmail.com>

devin-ai-integration[bot]

YassinNouh21 pushed a commit to YassinNouh21/feast that referenced this pull request

Feb 7, 2026
…st-dev#5933)

* feat(go): Add MySQL registry store support for Go feature server

This adds support for reading Feast registry data from a MySQL database
in the Go feature server, enabling parity with the Python SDK's SQL
registry store.

- `mysql_registry_store.go`: MySQL registry store implementation
  - Parses SQLAlchemy-style URLs (mysql://user:pass@host:port/db)
  - Reads all registry tables (projects, entities, feature_views, etc.)
  - Uses generics for type-safe protobuf unmarshaling
  - Configurable connection pool settings

- `mysql_registry_store_test.go`: Unit tests using in-memory SQLite
  - Tests registry loading with schema matching Python SQLAlchemy
  - Tests scheme routing for mysql:// URLs

- `registry.go`: Added mysql scheme routing and MySQLRegistryStore factory
- `repoconfig.go`: Added MySQL connection pool configuration options
  - mysql_max_open_conns (default: 20)
  - mysql_max_idle_conns (default: 10)
  - mysql_conn_max_lifetime_seconds (default: 300)
- `repoconfig_test.go`: Added tests for new MySQL config options

Users can configure the MySQL registry in feature_store.yaml:

```yaml
registry:
  path: mysql://user:password@localhost:3306/feast_registry
  mysql_max_open_conns: 20
  mysql_max_idle_conns: 10
  mysql_conn_max_lifetime_seconds: 300
```

The Go implementation reads from the same schema as the Python
SQLAlchemy registry (sdk/python/feast/infra/registry/sql.py).
When the Python schema evolves, the Go queries must be updated.

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

* docs(go): Clarify MySQL registry store package documentation

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

---------

Signed-off-by: PepeluDev <joseluislobell@gmail.com>
Signed-off-by: yassinnouh21 <yassinnouh21@gmail.com>

YassinNouh21 pushed a commit to YassinNouh21/feast that referenced this pull request

Feb 7, 2026
…st-dev#5933)

* feat(go): Add MySQL registry store support for Go feature server

This adds support for reading Feast registry data from a MySQL database
in the Go feature server, enabling parity with the Python SDK's SQL
registry store.

- `mysql_registry_store.go`: MySQL registry store implementation
  - Parses SQLAlchemy-style URLs (mysql://user:pass@host:port/db)
  - Reads all registry tables (projects, entities, feature_views, etc.)
  - Uses generics for type-safe protobuf unmarshaling
  - Configurable connection pool settings

- `mysql_registry_store_test.go`: Unit tests using in-memory SQLite
  - Tests registry loading with schema matching Python SQLAlchemy
  - Tests scheme routing for mysql:// URLs

- `registry.go`: Added mysql scheme routing and MySQLRegistryStore factory
- `repoconfig.go`: Added MySQL connection pool configuration options
  - mysql_max_open_conns (default: 20)
  - mysql_max_idle_conns (default: 10)
  - mysql_conn_max_lifetime_seconds (default: 300)
- `repoconfig_test.go`: Added tests for new MySQL config options

Users can configure the MySQL registry in feature_store.yaml:

```yaml
registry:
  path: mysql://user:password@localhost:3306/feast_registry
  mysql_max_open_conns: 20
  mysql_max_idle_conns: 10
  mysql_conn_max_lifetime_seconds: 300
```

The Go implementation reads from the same schema as the Python
SQLAlchemy registry (sdk/python/feast/infra/registry/sql.py).
When the Python schema evolves, the Go queries must be updated.

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

* docs(go): Clarify MySQL registry store package documentation

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

---------

Signed-off-by: PepeluDev <joseluislobell@gmail.com>
Signed-off-by: yassinnouh21 <yassinnouh21@gmail.com>

soooojinlee pushed a commit to soooojinlee/feast that referenced this pull request

Feb 18, 2026

jyejare pushed a commit to opendatahub-io/feast that referenced this pull request

Mar 9, 2026
…st-dev#5933)

* feat(go): Add MySQL registry store support for Go feature server

This adds support for reading Feast registry data from a MySQL database
in the Go feature server, enabling parity with the Python SDK's SQL
registry store.

- `mysql_registry_store.go`: MySQL registry store implementation
  - Parses SQLAlchemy-style URLs (mysql://user:pass@host:port/db)
  - Reads all registry tables (projects, entities, feature_views, etc.)
  - Uses generics for type-safe protobuf unmarshaling
  - Configurable connection pool settings

- `mysql_registry_store_test.go`: Unit tests using in-memory SQLite
  - Tests registry loading with schema matching Python SQLAlchemy
  - Tests scheme routing for mysql:// URLs

- `registry.go`: Added mysql scheme routing and MySQLRegistryStore factory
- `repoconfig.go`: Added MySQL connection pool configuration options
  - mysql_max_open_conns (default: 20)
  - mysql_max_idle_conns (default: 10)
  - mysql_conn_max_lifetime_seconds (default: 300)
- `repoconfig_test.go`: Added tests for new MySQL config options

Users can configure the MySQL registry in feature_store.yaml:

```yaml
registry:
  path: mysql://user:password@localhost:3306/feast_registry
  mysql_max_open_conns: 20
  mysql_max_idle_conns: 10
  mysql_conn_max_lifetime_seconds: 300
```

The Go implementation reads from the same schema as the Python
SQLAlchemy registry (sdk/python/feast/infra/registry/sql.py).
When the Python schema evolves, the Go queries must be updated.

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

* docs(go): Clarify MySQL registry store package documentation

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

---------

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

Shizoqua pushed a commit to Shizoqua/feast that referenced this pull request

Mar 18, 2026
…st-dev#5933)

* feat(go): Add MySQL registry store support for Go feature server

This adds support for reading Feast registry data from a MySQL database
in the Go feature server, enabling parity with the Python SDK's SQL
registry store.

- `mysql_registry_store.go`: MySQL registry store implementation
  - Parses SQLAlchemy-style URLs (mysql://user:pass@host:port/db)
  - Reads all registry tables (projects, entities, feature_views, etc.)
  - Uses generics for type-safe protobuf unmarshaling
  - Configurable connection pool settings

- `mysql_registry_store_test.go`: Unit tests using in-memory SQLite
  - Tests registry loading with schema matching Python SQLAlchemy
  - Tests scheme routing for mysql:// URLs

- `registry.go`: Added mysql scheme routing and MySQLRegistryStore factory
- `repoconfig.go`: Added MySQL connection pool configuration options
  - mysql_max_open_conns (default: 20)
  - mysql_max_idle_conns (default: 10)
  - mysql_conn_max_lifetime_seconds (default: 300)
- `repoconfig_test.go`: Added tests for new MySQL config options

Users can configure the MySQL registry in feature_store.yaml:

```yaml
registry:
  path: mysql://user:password@localhost:3306/feast_registry
  mysql_max_open_conns: 20
  mysql_max_idle_conns: 10
  mysql_conn_max_lifetime_seconds: 300
```

The Go implementation reads from the same schema as the Python
SQLAlchemy registry (sdk/python/feast/infra/registry/sql.py).
When the Python schema evolves, the Go queries must be updated.

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

* docs(go): Clarify MySQL registry store package documentation

Signed-off-by: PepeluDev <joseluislobell@gmail.com>

---------

Signed-off-by: PepeluDev <joseluislobell@gmail.com>
Signed-off-by: Shizoqua <hr.lanreshittu@gmail.com>

Shizoqua pushed a commit to Shizoqua/feast that referenced this pull request

Mar 18, 2026