feast icon indicating copy to clipboard operation
feast copied to clipboard

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

Open utsumi-fj opened this issue 7 months ago • 0 comments

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:[email protected]: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:[email protected]: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.

utsumi-fj avatar May 26 '25 05:05 utsumi-fj