GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — Allow serving online features while a FeatureView is `MATERIALIZING` (config to relax the lifecycle serving gate) · Issue #6780 · feast-dev/feast

Allow serving online features while a FeatureView is MATERIALIZING (config to relax the lifecycle serving gate) #6780

New issue
Copy link
New issue
Copy link
Closed
#6789
Closed
Allow serving online features while a FeatureView is MATERIALIZING (config to relax the lifecycle serving gate)#6780
#6789
Copy link

Description

@alan-gauthier-jt
alan-gauthier-jt
opened on Aug 25, 2026
Issue body actions

Summary

Since v0.64.0, get_online_features refuses to serve any FeatureView whose lifecycle state is
not AVAILABLE_ONLINE/STATE_UNSPECIFIED. Because store.materialize() transitions a FV to
MATERIALIZING in the (shared) registry for the duration of its run, online serving fails for that
FV while it is being materialized
. For the canonical setup — a long-running feast serve plus a
periodic (incremental) materialization job sharing one registry — this turns routine materialization
into recurring online-serving outages. Requesting a config option to keep serving the last-materialized
values during MATERIALIZING.

Current behavior

sdk/python/feast/utils.py (_get_online_features) enforces an unconditional gate:

raise ValueError(
    f"Feature view '{name}' is in state '{fv.state.name}' "
    f"and cannot serve features. Only AVAILABLE_ONLINE feature views can serve."
)

FeatureStore.materialize() sets the FV to MATERIALIZING and commits it to the registry before
writing (feature_view.state = FeatureViewState.MATERIALIZING; self.registry.apply_feature_view(..., commit=True)).
A separate feature server reading the same registry (subject to cache_ttl_seconds) then observes
MATERIALIZING and rejects requests. Since a get_online_features call spans all requested FVs, a
single materializing FV fails the entire request (including any feature service that references it).

Steps to reproduce

  1. feast apply, then materialize once so the FV is AVAILABLE_ONLINE.
  2. Start feast serve; confirm /get-online-features works.
  3. Run feast materialize for that FV (or set its state to MATERIALIZING).
  4. Call /get-online-features for the same FV during the run →
    ValueError: Feature view '<name>' is in state 'MATERIALIZING' and cannot serve features.

Impact

  • Continuous online serving + periodic incremental materialization is the standard online pattern;
    with one shared registry the serving tier unavoidably observes MATERIALIZING.
  • Materialization is exactly when the previous values are still valid and should keep being served;
    instead reads hard-fail.
  • Blast radius is the whole request / feature service, not just the one FV.

When it was introduced

The gate was added in PR #6401 (“Add enabled/disabled toggle for feature views”), first released in
v0.64.0, and is present unchanged in v0.65.0, v0.66.0, and master. It is unconditional —
there is no config to opt out. Versions ≤ v0.63.x do not have it.

Proposed solution

Add a config flag (e.g. under online_store or top-level in feature_store.yaml) such as:

serve_during_materialization: true   # default false to preserve current behavior

When enabled, _get_online_features treats MATERIALIZING as servable (serves the last-materialized
values) instead of raising. GENERATED / never-materialized FVs can still be gated. Alternatively,
scope the gate so MATERIALIZING is always servable (only truly-unavailable states are rejected),
since a FV that is re-materializing already has prior data online.

Environment

  • Feast: 0.65.0 (also confirmed in 0.64.0, 0.66.0, master)
  • Online store: Redis · Offline store: Athena · Registry: file (S3), shared between feast serve
    and a scheduled feast materialize
Reacted by Bruno FERNANDO, CrashCumber and Namjun Jo

Activity

  1. alan-gauthier-jt
    added a commit that references this issue on Sep 3, 2026

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 692484a is merged into the 'master' branch.
    692484a
  2. alan-gauthier-jt
    added 3 commits that reference this issue on Sep 10, 2026

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 41fb2ff is merged into the 'master' branch.
    41fb2ff

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit b7a8c26 is merged into the 'master' branch.
    b7a8c26

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 0099867 is merged into the 'master' branch.
    0099867
  3. CrashCumber commented on Sep 24, 2026

    @CrashCumber
    CrashCumber
    on Sep 24, 2026
    More actions

    Are there any updates regarding the PR? very useful feature

  4. ntkathole
    added 2 commits that reference this issue on Sep 25, 2026

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 669ef40 is merged into the 'master' branch.
    669ef40

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 53d4ac3 is merged into the 'master' branch.
    53d4ac3
  5. alan-gauthier-jt
    added a commit that references this issue on Sep 29, 2026

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 51ef29d is merged into the 'master' branch.
    51ef29d
  6. ntkathole
    added a commit that references this issue on Sep 29, 2026

    fix: Allow serving features while a feature view is MATERIALIZING

    This issue will close once commit 026157a is merged into the 'master' branch.
    026157a
  7. ntkathole
    closed this as completedin #6789on Sep 29, 2026
  8. ntkathole
    added a commit that references this issue on Sep 29, 2026

    fix: Allow serving features while a feature view is MATERIALIZING (fe…

    This issue will close once commit e2d7fe2 is merged into the 'master' branch.
    e2d7fe2
  9. ntkathole
    added 2 commits that reference this issue on Oct 13, 2026

    chore(release): release 0.67.0

    2dfb9e6

    fix: Merge upstream feast-dev/feast master - resolve CSV conflict (#247)

    2b0b7d7
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

      You are visitor 01402503 — GeezerVison does not store the pages you look up.
      Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.