Skip to content

.registry.path in feature_store.yaml is not updated based on interactive config during feast init #5388

@utsumi-fj

Description

@utsumi-fj

Expected Behavior

After executing the command feast init -t postgres feature_repo and providing configuration interactively, the .registry.path in feature_repo/feature_repo/feature_store.yaml should be automatically populated based on the entered Postgres settings.

Current Behavior

The .registry.path in feature_repo/feature_repo/feature_store.yaml is not updated and remains the default value: postgresql://postgres:mysecretpassword@127.0.0.1:55001/feast.

Steps to reproduce

1. Install Python SDK

pip install feast[postgres]==0.48.1 psycopg2-binary

2. Run feast init -t postgres feature_repo and fill out the configuration interactively

$ feast init -t postgres feature_repo
Postgres host [localhost]: test.example.com  
Postgres port [5432]: 5432
Postgres DB name [postgres]: postgres
Postgres schema [public]: public
Postgres user: postgres
Postgres password: 
Should I upload example data to Postgres (overwriting "feast_driver_hourly_stats" table)? [Y/n]: n

Creating a new Feast repository in /home/jovyan/feature_repo.

3. Check feature_store.yaml

Note that .registry.path still points to the default value and is not updated to match the entered host and database:

$ cat feature_repo/feature_repo/feature_store.yaml 
project: feature_repo
provider: local
registry:
    registry_type: sql
    path: postgresql://postgres:mysecretpassword@127.0.0.1:55001/feast
    cache_ttl_seconds: 60
    sqlalchemy_config_kwargs:
        echo: false
        pool_pre_ping: true
online_store:
    type: postgres
    host: test.example.com
    port: 5432
    database: postgres
    db_schema: public
    user: postgres
    password: postgres
offline_store:
    type: postgres
    host: test.example.com
    port: 5432
    database: postgres
    db_schema: public
    user: postgres
    password: postgres
entity_key_serialization_version: 2

As shown above, the .online_store and .offline_store sections reflect the entered values correctly, but the .registry.path does not.

Specifications

  • Version: 0.48.1
  • Platform: Python SDK
  • Extras: feast[postgres]

Possible Solution

The interactive init flow could update .registry.path based on the entered Postgres configuration.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions