Skip to content

feat: Add online sequence configuration foundation - #6848

Draft
patelchaitany wants to merge 1 commit into
feast-dev:masterfrom
patelchaitany:feat/rhoaieng-80117-online-config-foundation
Draft

patelchaitany wants to merge 1 commit into
feast-dev:masterfrom
patelchaitany:feat/rhoaieng-80117-online-config-foundation

Conversation

@patelchaitany

Copy link
Copy Markdown
Contributor

Summary

  • Add the OnlineConfig dataclass with latest and sequence modes, retention limits, write semantics, and validation.
  • Persist online configuration through FeatureView protobuf serialization and registry apply/update flows.
  • Display online configuration in feature-views describe and document the experimental contract.
  • Add focused unit coverage for validation, protobuf round trips, registry diffs, apply/update/clear behavior, BatchFeatureView, and CLI output.

Scope

This PR establishes the backward-compatible SDK and registry foundation for future sequence features. Online-store append, sequence retrieval, and backend-specific eviction are intentionally deferred to follow-up PRs.

Acceptance criteria

  • OnlineConfig dataclass with mode, max_length, max_age, and write_mode
  • FeatureView accepts online_config
  • Proto serialization and deserialization
  • Sequence validation requires append writes and positive max_length
  • Existing behavior remains unchanged when online_config is omitted
  • feast apply stores, updates, retrieves, and clears OnlineConfig
  • feature-views describe displays configuration details

Validation

  • 46 focused unit tests passed
  • Ruff checks passed
  • Scoped mypy checks passed for all changed Python modules
  • Python protobuf generation and local Go protobuf generation validated
  • Pre-commit format, lint, template, and secret checks passed

Full repository mypy currently requires the optional types-PyMySQL stub, which is not installed in the local environment.

Parent epic: RHOAIENG-80117

Signed-off-by: Chaitany Patel <patelchaitany93@gmail.com>
@codecov-commenter

codecov-commenter commented Sep 18, 2026

Copy link
Copy Markdown

⚠️ Please install the 'codecov app svg image' to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 92.53731% with 5 lines in your changes missing coverage. Please review.
✅ Project coverage is 47.52%. Comparing base (fa8f06b) to head (5b1078c).

Files with missing lines Patch % Lines
sdk/python/feast/online_config.py 92.30% 4 Missing ⚠️
sdk/python/feast/infra/registry/registry.py 75.00% 0 Missing and 1 partial ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

Impacted file tree graph

@@            Coverage Diff             @@
##           master    #6848      +/-   ##
==========================================
+ Coverage   47.43%   47.52%   +0.08%     
==========================================
  Files         422      423       +1     
  Lines       52263    52330      +67     
  Branches     7582     7599      +17     
==========================================
+ Hits        24791    24868      +77     
+ Misses      25708    25694      -14     
- Partials     1764     1768       +4     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 48.85% <92.53%> (+0.09%) ⬆️
Files with missing lines Coverage Δ
sdk/python/feast/__init__.py 97.14% <100.00%> (+0.08%) ⬆️
sdk/python/feast/batch_feature_view.py 77.46% <100.00%> (+0.32%) ⬆️
sdk/python/feast/cli/feature_views.py 33.82% <100.00%> (+6.75%) ⬆️
sdk/python/feast/feature_view.py 87.26% <100.00%> (+0.24%) ⬆️
sdk/python/feast/infra/registry/registry.py 63.54% <75.00%> (+0.79%) ⬆️
sdk/python/feast/online_config.py 92.30% <92.30%> (ø)

... and 2 files with indirect coverage changes


Continue to review full report in Codecov by Harness.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update fa8f06b...5b1078c. Read the comment docs.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants