FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

feat: Add Chronon online and offline store integrations by franciscojavierarceo · Pull Request #6188 · feast-dev/feast · GitHub

Repository navigation

feat: Add Chronon online and offline store integrations - #6188

Merged
franciscojavierarceo merged 15 commits into
feast-dev:masterfrom
franciscojavierarceo:chronon
Oct 5, 2026
Merged

franciscojavierarceo merged 15 commits into
feast-dev:masterfrom
franciscojavierarceo:chronon

Conversation

franciscojavierarceo commented Mar 27, 2026 •
edited
Loading

Copy link
Copy Markdown
Member

Summary

Add a read integration for Chronon-backed features. Feast registers Chronon source metadata, retrieves historical features from local Parquet materializations, and reads online features through Chronon's Join or GroupBy HTTP service. Chronon continues to own computation, scheduling, materialization, and serving infrastructure.

The integration includes source/store/provider registration, schema-aware online conversion and configurable HTTP retries, point-in-time historical joins with TTL and duplicate timestamp handling, local on-demand transforms, Parquet saved datasets, reference documentation, and a runnable checkout-risk demo.

Updated against master at fac0f88d5. Historical retrieval now supports entityless views and preserves request columns that collide with internal row-ordering names. Regression tests cover both cases.

The Chronon workflow runs unit and stub integration tests separately, uses an ARM64 runner for the quickstart image, installs sbt through its setup action, and builds only the required Thrift compiler. The launcher pins the quickstart and MongoDB images and reports failed container startup immediately. MongoDB 7.0 avoids the observed MongoDB 8+ startup incompatibility on the local Linux 7.0 kernel.

Validation

Local Python 3.11 validation on October 5, 2026:

  • 88 focused unit tests passed, including adapters, saved datasets, example, launcher, CPU wheel hashes, and offline-server/FIPS coverage.
  • 34 core regression tests passed for FeatureStore, feature views, data sources, and online responses.
  • 7 offline/HTTP-stub integration tests passed.
  • The real Chronon/MongoDB integration test passed with Chronon at 6c0b8de9f0301521baf61a46ff3083c566fb4052.
  • Offline and online demos passed. All 30 checkout feature values for users 5, 7, and 999999 matched direct Chronon responses, allowing Float32 rounding and preserving missing values.
  • Changed Python files passed Ruff lint and formatting; all six adapter/provider source files passed mypy. Shell syntax and launcher secret scanning passed.
  • The existing 22-slide summit presentation rebuilt without changes; its September recording remains a dated artifact.

CI validation at 1274ce368 on October 5: Chronon unit, HTTP-stub, and real-service integration tests passed; lint passed; Linux Python 3.10, 3.11, and 3.12 unit jobs, Go unit tests, and UI unit tests passed. The workflow now successfully builds Thrift 0.13 from Apache’s GitHub source. macOS and broader integration jobs were still running at this update. Ray and DuckDB integration jobs stop before tests at a pre-existing Pixi lockfile mismatch; pyproject.toml and pixi.lock are unchanged from the base branch.

Scope

Offline joins execute locally in pandas; this does not launch Chronon jobs, provide distributed historical execution, or add Go/Java adapters. The demo and correctness checks are not performance or production-readiness benchmarks.

Related presentation: #6850.

franciscojavierarceo changed the title Add Chronon online and offline store integrations feat: Add Chronon online and offline store integrations Mar 27, 2026
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>

codecov-commenter commented Sep 9, 2026 •
edited
Loading

Copy link
Copy Markdown

⚠️ Please install the to ensure uploads and comments are reliably processed by Codecov.

Codecov Report

❌ Patch coverage is 82.88770% with 64 lines in your changes missing coverage. Please review.
✅ Project coverage is 49.02%. Comparing base (fac0f88) to head (1274ce3).

Files with missing lines Patch % Lines
...ne_stores/contrib/chronon_offline_store/chronon.py 74.74% 45 Missing and 5 partials ⚠️
...nfra/online_stores/chronon_online_store/chronon.py 90.36% 4 Missing and 4 partials ⚠️
...es/contrib/chronon_offline_store/chronon_source.py 94.52% 4 Missing ⚠️
sdk/python/feast/infra/chronon_provider.py 88.23% 1 Missing and 1 partial ⚠️
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files

@@            Coverage Diff             @@
##           master    #6188      +/-   ##
==========================================
+ Coverage   48.71%   49.02%   +0.31%     
==========================================
  Files         427      433       +6     
  Lines       53934    54308     +374     
  Branches     7865     7910      +45     
==========================================
+ Hits        26272    26624     +352     
- Misses      25789    25799      +10     
- Partials     1873     1885      +12     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 50.41% <82.88%> (+0.32%) ⬆️
Files with missing lines Coverage Δ
sdk/python/feast/__init__.py 97.14% <100.00%> (+0.08%) ⬆️
...e_stores/contrib/chronon_offline_store/__init__.py 100.00% <100.00%> (ø)
...fra/online_stores/chronon_online_store/__init__.py 100.00% <100.00%> (ø)
sdk/python/feast/infra/provider.py 92.30% <ø> (ø)
sdk/python/feast/repo_config.py 79.52% <ø> (ø)
sdk/python/feast/infra/chronon_provider.py 88.23% <88.23%> (ø)
...es/contrib/chronon_offline_store/chronon_source.py 94.52% <94.52%> (ø)
...nfra/online_stores/chronon_online_store/chronon.py 90.36% <90.36%> (ø)
...ne_stores/contrib/chronon_offline_store/chronon.py 74.74% <74.74%> (ø)

... and 7 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 fac0f88...1274ce3. 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.

franciscojavierarceo and others added 2 commits September 9, 2026 15:08
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
(cherry picked from commit 05a27c0)
Signed-off-by: Francisco Javier Arceo <farceo@redhat.com>
Signed-off-by: Francisco Javier Arceo <arceofrancisco@gmail.com>
Signed-off-by: Francisco Javier Arceo <arceofrancisco@gmail.com>
Signed-off-by: Francisco Javier Arceo <arceofrancisco@gmail.com>
Signed-off-by: Francisco Javier Arceo <arceofrancisco@gmail.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode characters
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

kind/feature New feature or request ok-to-test

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants


Back | FazBrowse Home | New Git URL