← 输入框|github.com|刷新
Skip to content

Add feature view versioning support to Remote online store #6180

Open

Description

@franciscojavierarceo

Summary

Add versioned feature view read/write support to the Remote online store, so that version-qualified feature references (e.g., driver_stats@v2:trips_today) resolve to the correct versioned data.

Context

Feature view versioning was introduced in #6101. Currently, only the SQLite online store supports versioned reads/writes. All other online stores raise VersionedOnlineReadNotSupported when a versioned ref is used.

The implementation pattern (see sqlite.py for reference) involves:

  1. Write path: When enable_online_feature_view_versioning is enabled, materialize data into a version-specific table/key namespace (e.g., {project}_{fv_name}_v{version})
  2. Read path: Route version-qualified lookups to the correct versioned table/key namespace

Reference implementation

  • SQLite online store: sdk/python/feast/infra/online_stores/sqlite.py
  • Store file: sdk/python/feast/infra/online_stores/remote.py

Related

Part of #2728

Activity

  1. shuvakant6623 commented on Mar 27, 2026

    @shuvakant6623

    Hi @franciscojavierarceo, I’d like to work on this issue (#6180).

    I’ve gone through the context and the reference implementation in sqlite.py, and I understand that the goal is to extend versioned feature view support to the Remote online store by implementing version-aware read/write paths.

    My approach would be:

    • Implement version-specific namespaces for writes (e.g., {project}_{feature_view}_v{version}) when enable_online_feature_view_versioning is enabled
    • Route version-qualified reads to the correct versioned keys/tables
    • Align the behavior closely with the existing SQLite implementation for consistency
    • Add tests to validate correct behavior across multiple feature view versions

    I’ve already started exploring remote.py and related modules, and I’m confident I can take this forward. Please let me know if this approach aligns with your expectations or if there are any design considerations I should follow.

    Thanks!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions