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 — Remote materialization · Issue #4526 · feast-dev/feast

Remote materialization #4526

New issue
Copy link
New issue
Copy link
Closed
Closed
Remote materialization#4526
Copy link
Labels
kind/featureNew feature or requestNew feature or requestwontfixThis will not be worked onThis will not be worked on

Description

@tokoko
tokoko
opened on Sep 17, 2024
Issue body actions

Is your feature request related to a problem? Please describe.
We already have an option to run online/offline store queries remotely through feature server and offline server, respectively. This way rbac rules will be applied on operations. One piece that's missing is materialization. There are several ways to do this:

  • Keep materialization local, but rely on remote online/offline engines to apply rbac rules. This is currently impossible because remote online client doesn't implement online_write_batch method. Even if we did implement it in the feature server itself, we would essentially be using a lightweight fastapi server to transport batches and batches of potentially huge datasets.

  • Create remote materialization engine that will defer the whole materialization call to a backend server and apply rbac rules there. We can create another server component MaterializationServer that will receive these requests.

  • The same as above but instead of creating a new component, we can reuse OfflineServer to do the request handling. This is slightly awkward from the naming perspective, but probably makes the most sense in term of usage/maintenance.

I'd probably go with option 3 as a starting point.

Activity

  1. tokoko
    added
    kind/featureNew feature or requestNew feature or request
    on Sep 17, 2024
  2. dmartinol commented on Sep 18, 2024

    @dmartinol
    dmartinol
    on Sep 18, 2024
    Contributor
    More actions

    The same as above but instead of creating a new component, we can reuse OfflineServer to do the request handling. This is slightly awkward from the naming perspective, but probably makes the most sense in term of usage/maintenance.

    ATM the OfflineServer was designed to implement the OfflineStore interface only. Adding a method to write to the online stores would introduce an unplanned dependency and raise some concerns.

    • How the actual method should be implemented on the server side, w/o a reference to the (likely remote) online_store, which would raise again the original issue?
    • If we instead think to implement it in the OfflineServer, then we'd need an actual online_store configuration as well, which was not planned to have in such server (a remote online store was designed instead). Not sure about any possible side effects.

    Why aren't we using the /materialize-incremental endpoint on the FeatureServer instead? (and add a new endpoint for non-incremental jobs)
    This would avoid any "transport batches and batches of potentially huge datasets." as it would work on the server itself (and would use the remote offline_store to pull_latest_from_table_or_query using the flight protocol) .

    Otherwise, I'd be in favour of a dedicated MaterializationServer (with remote offline_store and provided online_store), which can still be designed as a "lightweight fastapi server" if I understood the materialization flow.

  3. dmartinol commented on Sep 23, 2024

    @dmartinol
    dmartinol
    on Sep 23, 2024
    Contributor
    More actions

    @tokoko do we want to evaluate this one? Any further comments on what solution to apply?

    Reacted by Tornike Gurgenidze
  4. tmihalac commented on Dec 17, 2024

    @tmihalac
    tmihalac
    on Dec 17, 2024
    Contributor
    More actions

    @tokoko we would like to see how do we progress with the remote materialization, how do we progress from here ?

  5. stale commented on Apr 26, 2025

    @stale
    staleBot
    on Apr 26, 2025 – with Stale
    More actions

    This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

  6. stale
    added
    wontfixThis will not be worked onThis will not be worked on
    on Apr 26, 2025
  7. stale
    closed this as completedon May 8, 2025
  8. aniketpalu
    added a commit that references this issue on Jul 8, 2026

    feat: Add remote materialization support via feature server

    3bf35a2
  9. aniketpalu
    added a commit that references this issue on Jul 28, 2026

    feat(server): Add async materialization via ?async=true query param

    6c3aaa7
  10. ntkathole
    added a commit that references this issue on Aug 6, 2026

    feat(server): Remote Materialization (#6649)

    b7ae488
  11. franciscojavierarceo
    added a commit that references this issue on Aug 21, 2026

    chore(release): release 0.66.0

    1d5be95
  12. Michie-hub
    added a commit that references this issue on Aug 31, 2026

    chore(release): release 0.66.0

    a29c923
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

    kind/featureNew feature or requestNew feature or requestwontfixThis will not be worked onThis will not be worked on

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions

      You are visitor 01402520 — 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.