Align V2 API parity with PyMilvus 2.6 - #2056
Conversation
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: yhmo 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 |
|
Tick the box to add this pull request to the merge queue (same as
|
There was a problem hiding this comment.
Pull request overview
This PR updates the Java V2 SDK to better match PyMilvus 2.6 behavior and request/response parity, adding input validation, new request fields, and expanding returned response metadata.
Changes:
- Add “no-RPC” fast paths for empty insert/upsert payloads and empty get IDs; reject invalid (non-positive) search limits.
- Extend utility/RBAC/load APIs with additional fields (dbName, collectionName, targetSizeUnit, priority) and wire them into gRPC requests/responses.
- Expand and add unit tests to cover the new parity behaviors and request mappings.
Reviewed changes
Copilot reviewed 17 out of 17 changed files in this pull request and generated 2 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk-core/src/test/java/io/milvus/v2/service/vector/VectorTest.java | Adds tests for empty insert/upsert/get no-RPC behavior and invalid limit validation. |
| sdk-core/src/test/java/io/milvus/v2/service/utility/UtilityTest.java | Adds tests for listAliases dbName, compact targetSizeUnit conversion + validation, and query segment collectionName. |
| sdk-core/src/test/java/io/milvus/v2/service/rbac/RoleTest.java | Adds tests verifying dbName is propagated in grant/revoke privilege requests. |
| sdk-core/src/test/java/io/milvus/v2/service/partition/PartitionTest.java | Adds test verifying load partition priority is mapped into load params. |
| sdk-core/src/test/java/io/milvus/v2/service/collection/CollectionTest.java | Adds test verifying load collection priority is mapped into load params. |
| sdk-core/src/test/java/io/milvus/v2/BaseTest.java | Extends stub setup for manualCompaction to support new compact tests. |
| sdk-core/src/main/java/io/milvus/v2/service/vector/VectorService.java | Implements empty-data/empty-IDs short-circuits and validates search/hybridSearch limits (sync + async). |
| sdk-core/src/main/java/io/milvus/v2/service/utility/UtilityService.java | Converts compact targetSize based on unit; returns dbName from listAliases; includes collectionName in query segment info. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/response/ListAliasResp.java | Adds dbName field to list aliases response model. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/response/GetQuerySegmentInfoResp.java | Adds collectionName to query segment info model. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/request/CompactReq.java | Adds targetSizeUnit to compact request model (default “mb”). |
| sdk-core/src/main/java/io/milvus/v2/service/rbac/request/GrantPrivilegeReq.java | Adds dbName to grant privilege request model. |
| sdk-core/src/main/java/io/milvus/v2/service/rbac/RBACService.java | Propagates optional dbName into GrantEntity for grant/revoke privilege. |
| sdk-core/src/main/java/io/milvus/v2/service/partition/request/LoadPartitionsReq.java | Adds priority field to load partitions request model. |
| sdk-core/src/main/java/io/milvus/v2/service/partition/PartitionService.java | Maps priority into load params as “load_priority”. |
| sdk-core/src/main/java/io/milvus/v2/service/collection/request/LoadCollectionReq.java | Adds priority field to load collection request model. |
| sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java | Maps priority into load params as “load_priority”. |
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
Use BigDecimal for overflow-safe target_size to MB conversion and reject values too small to reach 1 MB. Treat blank/whitespace-only targetSizeUnit as unset so it defaults to MB. Addresses review comments on PR milvus-io#2056. Signed-off-by: yhmo <yihua.mo@zilliz.com>
- load_collection/load_partitions: add priority mapped to load_params[load_priority], lowercased to match the proxy's exact-match on 'low' - compact: add targetSizeUnit (b/kb/mb/gb/tb/pb) with overflow-safe MB conversion and rejection of non-positive/too-small/oversize target sizes - grant/revoke_privilege: map dbName into the V1 OperatePrivilege GrantEntity - insert/upsert/get: return empty results without issuing an RPC on empty input - list_aliases: expose dbName; get_query_segment_info: expose collectionName - search/hybrid_search: reject limit <= 0 (sync and async) Signed-off-by: yhmo <yihua.mo@zilliz.com>
No description provided.