Add external collection API support#1801
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 |
There was a problem hiding this comment.
Pull request overview
This PR adds client-side SDK support for Milvus “external collection” operations (refresh + job progress/listing) and extends collection schema handling to carry external source/spec and field mapping information.
Changes:
- Added UtilityService + MilvusClientV2 APIs for refreshing an external collection and querying refresh job progress/history.
- Extended collection schema conversion/creation to include
externalSource,externalSpec, and per-fieldexternalFieldmapping. - Added unit tests and BaseTest gRPC stubs for the new utility APIs; added JSON helpers in
JsonUtils.
Reviewed changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| sdk-core/src/test/java/io/milvus/v2/service/utility/UtilityTest.java | Adds unit tests for refresh external collection APIs (refresh/progress/list jobs). |
| sdk-core/src/test/java/io/milvus/v2/BaseTest.java | Mocks new gRPC endpoints for external collection refresh APIs. |
| sdk-core/src/main/java/io/milvus/v2/utils/SchemaUtils.java | Adds schema conversions for externalSpec/externalSource and externalField. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/UtilityService.java | Implements new external collection utility methods and job-info conversion. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/response/RefreshExternalCollectionResp.java | New response model for refresh job ID. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/response/RefreshExternalCollectionJobInfo.java | New response model for refresh job details. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/response/ListRefreshExternalCollectionJobsResp.java | New response model for listing refresh jobs. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/response/GetRefreshExternalCollectionProgressResp.java | New response model for refresh job progress. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/request/RefreshExternalCollectionReq.java | New request model for starting a refresh. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/request/ListRefreshExternalCollectionJobsReq.java | New request model for listing refresh jobs. |
| sdk-core/src/main/java/io/milvus/v2/service/utility/request/GetRefreshExternalCollectionProgressReq.java | New request model for getting refresh progress. |
| sdk-core/src/main/java/io/milvus/v2/service/collection/request/CreateCollectionReq.java | Extends schema objects with externalSource/externalSpec and field externalField. |
| sdk-core/src/main/java/io/milvus/v2/service/collection/request/AddFieldReq.java | Adds externalField mapping to AddField request. |
| sdk-core/src/main/java/io/milvus/v2/service/collection/CollectionService.java | Includes external source/spec in gRPC CollectionSchema when creating collections. |
| sdk-core/src/main/java/io/milvus/v2/client/MilvusClientV2.java | Exposes new utility APIs on the V2 client. |
| sdk-core/src/main/java/io/milvus/common/utils/JsonUtils.java | Adds parsing/serialization helpers for JsonObject used by externalSpec. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Signed-off-by: yhmo <yihua.mo@zilliz.com>
No description provided.