69 Commits
Author SHA1 Message Date
foxspyandGitHub a4437e7daa enhance: adapt segcore to knowhere iterator error-code interface (#51017) 2026-07-18 10:44:30 +08:00
ad68690249 fix: keep round_decimal from changing search order (#50440)
## Summary

Keep raw search distances through segment search, iterator output, index
query, and chunk merging so ranking/reduce order is not affected by
`round_decimal`.

Apply `round_decimal` only when producing the final search response,
after reduce/rerank/order-by has already determined result order.
Returned scores keep the requested precision without changing TopK
selection.

issue: #50347

---------

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-17 11:14:40 +08:00
3c4aed6e0c enhance: upgrade knowhere to remove num_build_thread upper-bound validation (#51259)
## Summary

- Upgrade Knowhere dependency to 49507ef3 to pick up the fix that
removes the num_build_thread upper-bound validation.

issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-13 22:16:40 +08:00
foxspyandGitHub 1065ab0e27 enhance: upgrade knowhere to v3.0.5 (#50902)
## Summary

- Upgrade Knowhere dependency to v3.0.5.

issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-06-30 17:20:38 +08:00
foxspyandGitHub 51a6132424 fix: reject search iterator v2 in hybrid search (#50605)
## Summary

Reject search iterator v2 for hybrid search because the current response
metadata model only supports iterator v2 results for a single query
info. This avoids returning hybrid search hits with empty iterator
metadata that cannot be used for the next page.

issue: #50407

## Test Plan

- [x] `git diff --check`
- [x] `make milvus`
- [x] `MILVUSCONF=/tmp/milvus_issue-50407/configs
PKG_CONFIG_PATH=$(pwd)/internal/core/output/lib/pkgconfig
LD_LIBRARY_PATH=$(pwd)/internal/core/output/lib go test -gcflags="all=-N
-l" -tags dynamic,test ./internal/proxy -run
"^TestSearchTask_ArrayOfVectorHybridSearch$" -count=1 -ldflags="-r
$(pwd)/internal/core/output/lib"`

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-06-29 11:14:28 +08:00
foxspyandGitHub 5d6ab96648 enhance: upgrade knowhere to v3.0.4 (#50612)
## Summary

- Upgrade Knowhere dependency to v3.0.4.
- Upgrade milvus-common dependency to the version required by Knowhere
v3.0.4.

issue: #50610

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-06-18 18:22:29 +08:00
foxspyandGitHub 7cf2530b5c fix: constrain max index version for old query nodes (#49674)
## Summary

When a QueryNode does not report `MaximumIndexVersion`, use its
`CurrentIndexVersion` as the conservative maximum for cluster-wide
vector index version resolution. This prevents `targetVecIndexVersion`
from advancing beyond old QueryNodes during rolling upgrade.

issue: #48470

## Tests

- `source ./scripts/setenv.sh && make SKIP_3RDPARTY=1
build-cpp-with-unittest`
- `source ./scripts/setenv.sh && make build-go`
- `source ./scripts/setenv.sh && LOCAL_STORAGE_SIZE=100 go test -v
-gcflags="all=-N -l" -tags dynamic,test ./internal/datacoord -run
"Test_IndexEngineVersionManager_(GetMaximumIndexEngineVersion|ResolveVecIndexVersion)"
-count=1 -ldflags="-r ${RPATH}"`
- `LOCAL_STORAGE_SIZE=100 ./scripts/run_go_unittest.sh -t datacoord`

---------

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-06-08 11:04:19 +08:00
foxspyandGitHub 3e720ce05b test: add vanilla FAISS e2e coverage (#50126)
## Summary

Add E2E coverage for vanilla FAISS index support across Milvus clients:

- Add Python client index tests for vanilla FAISS factory strings,
metrics, vector types, search params, scalar filters,
release/load/search, range search, and expected unsupported behavior
- Add Go client coverage through the generic index API
- Add REST client create/list/describe metadata coverage

Dependency note: this PR is temporarily based on Milvus #49912 and
currently depends on the Knowhere `faiss-passthrough` branch. The
dependency will be replaced after the final Knowhere reference is
available.

issue: #50124

## Tests

- python -m py_compile
tests/python_client/testcases/indexes/idx_faiss.py
tests/python_client/testcases/indexes/test_faiss.py
tests/restful_client_v2/testcases/test_index_operation.py
- pytest -c /dev/null
tests/python_client/testcases/indexes/test_faiss.py -q -o
cache_dir=/tmp/pytest-cache-vanilla-faiss --tb=short
- pytest tests/restful_client_v2/testcases/test_index_operation.py -q -k
faiss --tb=short -o cache_dir=/tmp/pytest-cache-vanilla-faiss-rest
- cd tests/go_client && go test ./testcases -run
TestCreateIndexVanillaFaissGeneric -count=1 -v

---------

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-06-05 17:56:17 +08:00
foxspyandGitHub ac1d101acd fix: bypass knowhere thread control for iterators (#49545)
## Summary

Disable Knowhere search-pool scheduling for vector iterators created by
Milvus. Milvus consumes these iterators from its own execution threads,
and the extra Knowhere thread control adds per-Next scheduling overhead
for iterator-heavy group-by search paths.

issue: #42132

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-05-07 14:58:08 +08:00
foxspyandGitHub 84ba0d62a3 enhance: update default auto index for vector filed (#47387)
issue: #47386 
/kind improvement

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-01-29 16:55:46 +08:00
foxspyandGitHub 53a300db83 enhance: update knowhere version (#45564)
issue: #42937 

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
- Core invariant: callers must explicitly close output streams (call
Close()) instead of relying on RemoteOutputStream's destructor to
perform closure.
- Logic removed/simplified: RemoteOutputStream's destructor no longer
closes or asserts on the underlying arrow::io::OutputStream; an explicit
public Close() method was added and closure responsibility moved to that
code path.
- Why this is safe (no data loss/regression): callers now invoke Close()
before reading or destroying streams (e.g.,
DiskFileManagerTest::ReadAndWriteWithStream calls os->Close() before
opening the input stream). Write paths remain unchanged
(RemoteOutputStream::Write -> output_stream_->Write), and Close invokes
output_stream_->Close() with status assertion, ensuring
flush/confirmation via the same API and preserving data integrity;
removing destructor-side asserts prevents unexpected failures during
object destruction without changing write/close semantics.
- Chore: updated third-party pins — internal/core/thirdparty/knowhere
CMakeLists.txt: KNOWHERE_VERSION -> a59816e;
internal/core/thirdparty/milvus-common CMakeLists.txt:
MILVUS-COMMON-VERSION -> b6629f7.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2026-01-07 10:39:24 +08:00
foxspyandGitHub 49939f5f2b fix: enable diskann option by default (#46584)
issue: #46481 


<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
- Core invariant: DiskANN requires OS support for asynchronous I/O
(AIO); the Makefile now encodes this by defaulting disk_index=OFF on
Darwin (macOS) and disk_index=ON on other OSes where AIO is available.
- Simplified logic: the build-time default was inverted for non-Darwin
platforms so DiskANN is enabled by default; redundant conditional
handling that previously forced OFF everywhere has been removed in favor
of an OS-based default while preserving the single manual override
variable.
- No data loss or regression: this is a compile-time change only — it
toggles inclusion of DiskANN code paths at build time and does not
modify runtime persistence or existing index files. macOS builds still
skip AIO-dependent DiskANN code paths, and Linux/other builds merely
compile support by default; no migration or runtime data-path changes
are introduced.
- Backward compatibility / fix for issue #46481: addresses the reported
need to enable DiskANN by default (issue #46481) while keeping explicit
disk_index overrides intact for CI and developer workflows, so existing
build scripts and deployments that pass disk_index continue to behave
unchanged.
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-12-31 11:07:22 +08:00
foxspyandGitHub ab03521588 fix: fix chunk iterator merge order (#46461)
issue: #46349 
When using brute-force search, the iterator results from multiple chunks
are merged; at that point, we need to pay attention to how the metric
affects result ranking.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-12-23 10:33:17 +08:00
foxspyandGitHub 3a3163e613 fix: skip gpu init for streaming node (#45650)
issue: #45597

The streaming node currently cannot use GPU resources and does not need
to perform initialization.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-12-07 13:59:11 +08:00
foxspyandGitHub 95d7302cf4 enhance: update knowhere version (#45270)
issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-11-05 11:09:32 +08:00
foxspyandGitHub b13b4dabbe fix: fix the size of diskann thread cache (#44887)
issue: https://github.com/milvus-io/milvus/issues/44857

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-10-16 15:32:01 +08:00
foxspyandGitHub b91878857e fix: update aisaq param (#44861)
issue: #44365

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-10-15 19:18:00 +08:00
foxspyandGitHub e7a91f514c enhance: overwriting current index type during index build stage (#44753)
issue: #44752

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-10-11 18:31:58 +08:00
foxspyandGitHub 0eb42a7870 enhance: support load params for vector index (#44747)
issue: #44746 

Support modifying vector index behavior during loading by change/add
aram knowhere.xxx.load.xxx.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-10-11 18:30:08 +08:00
foxspyandGitHub 13c3b0b909 enhance: add autoindex configuration for the int8 vector type (#44554)
issue: #38666 

Add int8 support for autoindex to ensure it can be independently
configured. At the same time, remove the restriction on int8 type for
vectorDiskIndex (note that vectorDiskIndex only determines the building
and loading method of the index, not the index type).

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-09-24 17:48:04 +08:00
foxspyandGitHub d55bf49bf1 enhance: update knowhere version (#44144)
issue: #42937

---------

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-09-03 01:31:53 +08:00
foxspyandGitHub 647c2bca2d enhance: Support streaming read and write of vector index files (#43824)
issue: #42032

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-08-15 23:41:43 +08:00
foxspyandGitHub d57890449f enhance: update knowhere version (#43528)
issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-07-29 17:21:36 +08:00
foxspyandGitHub ed57650b52 fix: remove invalid restrictions on dim for int8 vector (#43469)
issue: #43466

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-07-23 20:22:54 +08:00
foxspyandGitHub 58a9e49066 enhance: update knowhere version (#43331)
issue: #42937 #43294

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-07-16 15:04:50 +08:00
foxspyandGitHub 8171a2a0b5 enhance: update knowhere version (#43246)
issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-07-14 11:06:49 +08:00
foxspyandGitHub be05b653c1 enhance: update knowhere version (#42938)
issue: #42937

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-06-26 01:22:41 +08:00
foxspyandGitHub 58f9278db7 fix: fix build interim index failures (#42679)
issue: #42028 

W20250522 09:52:55.785657 12779 ChunkedSegmentSealedImpl.cpp:1752]
[SERVER][generate_interim_index][CGO_LOAD][]fail to generate binlog
index, because bad optional access

After the cachelayer is added, num_rows_ can not be obtained before
interim index generated , and an external parameter pass is required

Signed-off-by: foxspy <xianliang.li@zilliz.com>
2025-06-12 05:12:39 +08:00
foxspyandGitHub 9af6c16ea0 fix: add describeIndex timestamp for restful interface (#42104)
issue: #41431

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-06-11 15:26:38 +08:00
foxspyandGitHub 3dbad0306a fix: Add bypass thread pool mode to avoid growing indexes blocking insert/load (#41012)
issue: #40825

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-05-20 14:30:24 +08:00
foxspyandGitHub 1c794be119 enhance: Output index version information in the DescribeIndex interface (#41847)
issue: https://github.com/milvus-io/milvus/issues/41431

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-05-15 14:36:22 +08:00
foxspyandGitHub 358bc150df enhance: add force rebuild index configuration (#41473)
issue: #41431

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-05-14 10:52:21 +08:00
foxspyandGitHub e2ddbe4962 feat: add cachinglayer to index (#41653)
issue: #41435

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-05-08 10:12:54 +08:00
foxspyandGitHub 1d99f8bd67 enhance: add force rebuild index configuration (#41473)
issue: #41431

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-04-29 16:20:56 +08:00
foxspyandGitHub 17e10beba0 fix: avoid segmentation faults caused by retrieving empty vector datasets (#40545)
issue: #40544

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-04-10 20:16:29 +08:00
foxspyandGitHub 2eaf997dce enhance: Automatically Close Knowhere Automated PRs (#40498)
Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-03-10 15:01:05 +08:00
foxspyandGitHub 172051b050 fix: remove num_build_thread param (#39340)
issue: #39090 
The num_build_thread parameter will limit the number of build omps. This
parameter will override the effect of buildIndexThreadPoolRatio.
Removing this parameter will have no actual effect. This parameter is
actually only used in the growing index, where it will be explicitly
set.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-01-16 19:21:01 +08:00
foxspyandGitHub af08b5b311 enhance: Update Knowhere version (#38942)
Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2025-01-03 14:28:53 +08:00
foxspyandGitHub 06d410b70f enhance: update knowhere version (#38544)
related: #37730

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-12-18 16:52:45 +08:00
foxspyandGitHub 0ba868ae64 enhance: update knowhere version (#37730)
release note draft :
https://github.com/zilliztech/knowhere/releases/tag/v2.5.0

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-16 10:08:30 +08:00
foxspyandGitHub 5ae347aba0 enhance: update knowhere version (#37688)
issue: #37665 #37631 #37620 #37587 #36906 
knowhere has add default nlist value, so some invalid param test ut with
no nlist param will be valid.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-15 10:10:31 +08:00
foxspyandGitHub cf883b114e enhance: update knowhere version (#37510)
issue: #36925

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-13 16:36:27 +08:00
foxspyandGitHub 81141bd18d fix: use yaml.v2 as yaml parser (#37423)
issue: #34298 
Viper uses yaml.v2 as the parser. This PR will adopt the parsing logic
from Viper to handle YAML files, ensuring maximum consistency in
parsing.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-11 21:26:27 +08:00
foxspyandGitHub 1b98bb423a fix: process null value in yaml (#37418)
issue: #34298 
fix key: null defined in the yaml file. 
viper will parse it as "", and yaml v3 will parse it as "null".

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-04 21:46:23 +08:00
foxspyandGitHub c27f477b6c enhance: Update Knowhere version (#37333)
issue: #37269

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-04 11:56:31 +08:00
foxspyandGitHub eaf86f7649 fix: optimize invalid datatype error msg (#37376)
issue: #37151

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-04 11:46:28 +08:00
foxspyandGitHub 642a651f60 enhance: remove useless vector index param checker (#37329)
issue: #34298 
because all vector index config checker has been moved into
vector_index_checker, then the useless checkers can be removed.

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-01 06:20:21 +08:00
foxspyandGitHub 3224e58c5b enhance: add unify vector index config management (#36846)
issue: #34298

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-11-01 06:18:21 +08:00
foxspyandGitHub d7b2ffe5aa enhance: add an unify vector index config checker (#36844)
issue: #34298

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-10-28 10:11:37 +08:00
foxspyandGitHub 3de57ec4fa enhance: add vector index mgr to remove vector index type dependency (#36843)
issue: #34298

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-10-17 22:15:25 +08:00
foxspyandGitHub 9da86529a7 enhance: Add disk filemananger parallel load control to reduce the memory consumption (#35281)
issue: #35280 
add parallel control to limit the memory consumption during index file
loading

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-09-03 18:01:03 +08:00
foxspyandGitHub 48b14c56f6 fix: add prometheus dependency for milvus_monitor (#35078)
add prometheus dependency for monitor module. Or else Some compilers may
report a compilation failure.
issue: #35077

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-07-31 10:15:48 +08:00
foxspyandGitHub 8e64bf929c enhance: add scalar filtering and vector search latency metrics (#34785)
add scalar filtering and vector search latency metrics to distinguish
the cost of scalar filtering.
To add metrics in query chain, add a monitor module and move the metric
files from original storage module.
issue: #34780

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-07-19 14:01:39 +08:00
foxspyandGitHub 3bec2c4928 enhance: Update Knowhere version (#33309)
/kind branch-feature

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-05-23 16:57:41 +08:00
foxspyandGitHub f6777267e3 enhance: add score compute consistency config for knowhere (#32997)
issue: https://github.com/milvus-io/milvus/issues/32583
related: #32584

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-05-13 14:21:31 +08:00
foxspyandGitHub b35ecebcc3 enhance: Update Knowhere version (#31392)
/kind branch-feature

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-03-19 15:11:07 +08:00
foxspyandGitHub 1c930e560c enhance: Update Knowhere version (#31312)
/kind branch-feature

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-03-18 11:29:04 +08:00
foxspyandGitHub e1e87d572b fix: compatibility for diskann cache param (#30119)
patch search cache param from index configs when index meta could not
get the search cache size key
#issue: #30113

Signed-off-by: xianliang.li <xianliang.li@zilliz.com>
2024-02-26 16:54:55 +08:00
foxspyandGitHub 43e8cd531d enhance: Update Knowhere version (#30675)
issue: #30669

Signed-off-by: xianliang <xianliang.li@zilliz.com>
2024-02-19 22:04:51 +08:00
foxspyandGitHub 271edc6669 fix: throw exception when upload file failed for DiskIndex (#29627)
related to : #29417 

cardinal indexes upload index files in `Serialize` interface, and throw
exception when the `Serialize` failed.

Signed-off-by: xianliang <xianliang.li@zilliz.com>
2024-01-07 20:03:13 +08:00
foxspyandGitHub 2b46bd1f08 fix diskann searchCache param compatibility (#27557)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-10-11 16:57:34 +08:00
5db4a0489e dynamic index version control (#27335)
Co-authored-by: longjiquan <jiquan.long@zilliz.com>
2023-09-25 21:39:27 +08:00
foxspyandGitHub fa033e586a disable growing index for flat (#27309)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-09-22 14:19:24 +08:00
370b6fde58 milvus support multi index engine (#27178)
Co-authored-by: longjiquan <jiquan.long@zilliz.com>
2023-09-22 09:59:26 +08:00
foxspyandGitHub 18cbe26876 fix growing hasRawData (#27105)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-09-14 21:11:18 +08:00
foxspyandGitHub 5437fcce8e fix range search (#25880)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-07-25 10:07:01 +08:00
foxspyandGitHub 31173727b2 growing segment index memory opt & get vector bugfix (#25272)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-07-05 00:04:25 +08:00
foxspyandGitHub 849de66be8 revert query_coord proto (#24089)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-05-15 15:09:25 +08:00
foxspyandGitHub 6f4ed517de add growing segment index (#23615)
Signed-off-by: xianliang <xianliang.li@zilliz.com>
2023-04-26 10:14:41 +08:00