Skip to content

feat(server): Remote Materialization - #6649

Open
aniketpalu wants to merge 7 commits into
feast-dev:masterfrom
aniketpalu:feat/remote-materialize-v2
Open

feat(server): Remote Materialization#6649
aniketpalu wants to merge 7 commits into
feast-dev:masterfrom
aniketpalu:feat/remote-materialize-v2

Conversation

@aniketpalu

@aniketpalu aniketpalu commented Jul 28, 2026

Copy link
Copy Markdown
Contributor

Summary

Supersedes #6590 (clean single-commit history with proper DCO).
Add ?async=true query parameter support to the existing /materialize and /materialize-incremental endpoints. When set, materialization runs in a background thread and the endpoint returns 202 Accepted immediately. Concurrent requests for an already-MATERIALIZING FV are rejected with 409. Also adds ?force=true to allow operators to override stuck MATERIALIZING state (e.g. after a crashed SparkApplication pod).

Client-side (SDK)

  • store.materialize(..., remote=True) delegates to the feature server
    (URL/TLS derived from online_store config)
  • wait=False returns immediately after triggering
  • store.poll_materialization() for status polling via registry state

Server-side

  • ?async=true on existing /materialize and /materialize-incremental
  • ?force=true to skip the 409 concurrency guard
  • Four module-level helpers extracted for testability

Registry

  • SQL and Snowflake apply_materialization() now set FV state to
    AVAILABLE_ONLINE (parity with file-based registry)

Which issue(s) this PR fixes

Addresses #4526

Checks

  • I've made sure the tests are passing.
  • My commits are signed off (git commit -s)
  • My PR title follows conventional commits format

Testing Strategy

  • Unit tests
  • Integration tests
  • Manual tests
  • Testing is not required for this change

Misc

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