Visitar URL original
feat: Add Chronon online and offline store integrations by franciscojavierarceo · Pull Request #6188 · feast-dev/feast · GitHub
Skip to content

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

@franciscojavierarceo franciscojavierarceo commented Mar 27, 2026 •

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

codecov-commenter commented Sep 9, 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 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

Impacted file tree graph

@@            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>
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>
@franciscojavierarceo
franciscojavierarceo marked this pull request as ready for review October 5, 2026 15:10
@franciscojavierarceo
franciscojavierarceo requested a review from a team as a code owner October 5, 2026 15:10
@franciscojavierarceo
franciscojavierarceo merged commit dd059c6 into feast-dev:master Oct 5, 2026
29 of 32 checks passed
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