fix: update SVS SQ8 storage enum after Faiss 1.15.0+ upgrade - #1784
Merged
Conversation
Signed-off-by: jamesgao-jpg <james.gao@zilliz.com>
|
@jamesgao-jpg 🔍 Important: PR Classification Needed! For efficient project management and a seamless review process, it's essential to classify your PR correctly. Here's how:
For any PR outside the kind/improvement category, ensure you link to the associated issue using the format: “issue: #”. Thanks for your efforts and contribution to the community!. |
Collaborator
|
/lgtm |
Collaborator
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: alexanderguzhva, jamesgao-jpg The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
This was referenced Aug 24, 2026
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
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #1785
What changed
faiss::SVS_SQ8.sqi8Knowhere configuration value and SQI8 runtime behavior.Root cause
Knowhere vendors the Faiss source, including Faiss's SVS integration layer, under
thirdparty/faiss. The Intel SVS runtime itself remains a separate dependency fetched and linked by the SVS-enabled CMake build.The relevant dependency boundary is:
The Faiss 1.15.0+ upgrade renamed its public storage enum from
SVS_SQI8toSVS_SQ8. Faiss also updated its internal translation so thatSVS_SQ8continues to map tosvs_runtime::StorageKind::SQI8. However, Knowhere's ownsrc/index/svs/svs_utils.h, which is outside the vendored Faiss tree, retained the oldfaiss::SVS_SQI8reference.Consequently, the incompatibility is between the stale Knowhere call site and the updated Faiss API; it is not an incompatibility between Faiss and the Intel SVS runtime. Builds with
WITH_SVS=ONfail because the old Faiss enum no longer exists.The external configuration remains unchanged:
Verification
git diff --checkstr_to_svs_storage_kind("sqi8")against the vendored Faiss headers and SVS runtime 0.4.0 headers withKNOWHERE_WITH_SVSenabled.