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

feat: Add consistency_level to the Milvus online store config by simonhearne · Pull Request #6921 · feast-dev/feast · GitHub

Repository navigation

feat: Add consistency_level to the Milvus online store config - #6921

Merged
ntkathole merged 1 commit into
feast-dev:masterfrom
simonhearne:feat/milvus-consistency-level
Oct 4, 2026
Merged

ntkathole merged 1 commit into
feast-dev:masterfrom
simonhearne:feat/milvus-consistency-level

Conversation

simonhearne commented Oct 1, 2026 •
edited
Loading

Copy link
Copy Markdown
Contributor

What this PR does / why we need it:

Adds two optional Milvus online store settings, each Strong, Bounded, Session or Eventually:

  • consistency_level is sent with every read and search (query, search, keyword query).
  • collection_consistency_level is set when Feast creates a collection. It becomes the collection's
    default for requests that don't specify a level, e.g. from other clients.

The two are independent. When they are unset nothing is sent, so Milvus keeps its default
(Bounded), which is the current behaviour.

With Bounded, a read issued straight after materialization may briefly miss the newest writes.
consistency_level: Strong makes Feast's reads always see the latest writes, at the cost of higher
read latency, and takes effect without recreating collections.

online_store:
  type: milvus
  consistency_level: "Strong"
  collection_consistency_level: "Bounded"

Which issue(s) this PR fixes:

N/A

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

  • Unit (mocked client): neither level sent when unset; consistency_level sent only to query,
    search and keyword query; collection_consistency_level sent only to create_collection;
    different values for each are applied independently; invalid values rejected.

  • Server: collection level is Bounded by default and follows collection_consistency_level;
    with consistency_level: Strong on a Bounded collection, a write is visible to the next read.

Unit tests run on Milvus Lite 3.2.1 (pymilvus 3.0.2). Server tests in sdk/python/tests/integration/online_store/test_milvus_remote.py are marked integration and skip unless ZILLIZ_URI and ZILLIZ_TOKEN are set; they passed against a local Milvus 2.6.0, a local Milvus 3.0.2 server and against Zilliz Cloud. The existing Milvus unit and universal integration tests pass unchanged.

Misc

Part of a series of Milvus online store improvements for Zilliz Cloud and production Milvus, following #6882, #6895 and #6917.

simonhearne requested a review from a team as a code owner October 1, 2026 14:01

codecov-commenter commented Oct 1, 2026 •
edited
Loading

Copy link
Copy Markdown

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

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 48.71%. Comparing base (298c3f6) to head (ee7f255).
⚠️ Report is 3 commits behind head on master.
❗ Your organization needs to install the Codecov GitHub app to enable full functionality.

Additional details and impacted files

@@            Coverage Diff             @@
##           master    #6921      +/-   ##
==========================================
+ Coverage   48.64%   48.71%   +0.06%     
==========================================
  Files         427      427              
  Lines       53864    53934      +70     
  Branches     7849     7865      +16     
==========================================
+ Hits        26203    26272      +69     
+ Misses      25792    25789       -3     
- Partials     1869     1873       +4     
Flag Coverage Δ
go-feature-server 30.58% <ø> (ø)
python-unit 50.08% <100.00%> (+0.06%) ⬆️
Files with missing lines Coverage Δ
.../infra/online_stores/milvus_online_store/milvus.py 72.78% <100.00%> (+0.57%) ⬆️

... 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 0056565...ee7f255. 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.

Adds two optional settings, each Strong, Bounded, Session or Eventually:
consistency_level is sent with every read and search, and
collection_consistency_level is set when Feast creates a collection.
When unset nothing is sent, so Milvus keeps its default (Bounded)
exactly as before.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Simon Hearne <simon.hearne@gmail.com>
ntkathole force-pushed the feat/milvus-consistency-level branch from 706be05 to ee7f255 Compare October 4, 2026 13:08
ntkathole merged commit 97296c1 into feast-dev:master Oct 4, 2026
18 of 25 checks passed
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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants


Back | FazBrowse Home | New Git URL