276 Commits
Author SHA1 Message Date
zhuwenxingandGitHub a95a54e875 test: add REST import 2PC coverage (#50462)
## What type of PR is this?

/kind test

## What this PR does / why we need it:

Adds RESTful import 2PC coverage for Milvus import lifecycle and
CDC-focused scenarios.

This PR adds:
- REST import job helpers for `/describe`, `/commit`, `/abort`, and
state polling
- pytest options for secondary CDC endpoint/object storage/topology
parameters
- a new REST test suite for import 2PC lifecycle, visibility,
commit/abort, delete semantics, TTL, compaction, formats, data types,
indexes, partitions, DML interleaving, CDC, and fault-tolerance gates
- xfail regression coverage for known issues:
  - #50458 REST import commit/abort authorization gap
  - #50459 NaN/Inf FloatVector import/query behavior
  - #50460 REST `options.auto_commit=null` validation gap

## Which issue(s) this PR fixes:

N/A

## Special notes for your reviewer:

The CDC cases require passing secondary cluster REST/MinIO options and
topology arguments. Without those options, CDC-specific cases skip with
an explicit environment precondition message.

The manual compaction-after-commit case is marked non-strict xfail
because compaction may remain `Executing` on current import 2PC test
builds.

## Test result:

```text
python -m py_compile tests/restful_client_v2/conftest.py tests/restful_client_v2/api/milvus.py tests/restful_client_v2/testcases/test_import_2pc_operation.py
ruff check tests/restful_client_v2/api/milvus.py tests/restful_client_v2/conftest.py tests/restful_client_v2/testcases/test_import_2pc_operation.py
python -m pytest --collect-only -q testcases/test_import_2pc_operation.py
141 tests collected in 2.14s
```

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2026-06-18 19:00:24 +08:00
131e2d0aee test: Add testcases for external table (#49378)
## Summary

- Expand Python MilvusClient external_table E2E coverage for schema
validation, lifecycle, DQL, refresh, indexing, read-only/write-blocked
behavior, and multi-format datasets.
- Cover parquet, lance-table, iceberg-table, and vortex basic format
flows with shared data builders and stricter assertions.
- Add REST v2 external collection coverage for external job APIs,
nullable vectors, custom database flow, and format matrix behavior.
- Move Vortex data generation to the Python 3.12 test environment and
remove the old sidecar helper scripts.
- Add Python 3.12 environment setup in `tests/scripts` so E2E scripts
create and activate the expected test runtime.

## Notes

- Vortex full-matrix coverage excludes fields that the current
`vortex-data==0.56.0` writer or Milvus refresh path cannot represent
consistently (`FixedSizeBinary`-backed vector fields and known
string/JSON fields).
- Chaos fault-injection coverage is included in the PR but was not run
against the shared validation instance because it mutates the
deployment.

## Validation

- `uv venv -p 3.12 .venv`
- `uv pip install --python .venv/bin/python -r requirements.txt`
- `pytest -q -x -n 6 milvus_client/test_milvus_client_external_table.py
--host 10.100.36.207 --port 19530 --minio_host 10.100.36.172
--minio_bucket external-table-pr49378-master`
  - `162 passed, 2 skipped in 176.78s`
- `pytest -q -x -n 6 testcases/test_external_collection_operations.py
--endpoint http://10.100.36.207:19530 --token root:Milvus --minio_host
10.100.36.172 --bucket_name external-table-pr49378-master`
  - `22 passed, 4 xfailed in 66.04s`
- `git diff --check`

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-19 14:16:29 +08:00
8d167581e5 test: [skip e2e] add nightly woodpecker service mode deployment (#48645)
## Summary
- Add new nightly helm values file `distributed-woodpecker-service` for
woodpecker service mode (non-embedded) deployment
- Add `distributed-woodpecker-service` to Nightly2 Jenkins matrix
- Add release name mapping `dws` in `get_release_name.sh`
- Bump milvus-helm chart version from 5.0.6 to 5.0.16 (supports
woodpecker service mode)

issue: #48644

## Test plan
- [ ] Verify nightly pipeline picks up the new
`distributed-woodpecker-service` deployment option
- [ ] Verify woodpecker service pods start with image
`harbor.milvus.io/woodpecker/woodpecker:master-latest`
- [ ] Verify existing `distributed-woodpecker` (embedded mode) nightly
tests are unaffected
- [ ] Verify `distributed-pulsar-mmap` and `distributed-kafka` nightly
tests pass with chart 5.0.16

🤖 Generated with [Claude Code](https://claude.com/claude-code)

---------

Signed-off-by: Eric Hou <eric.hou@zilliz.com>
Co-authored-by: Eric Hou <eric.hou@zilliz.com>
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-31 18:59:36 +08:00
91703d0153 enhance: remove --html and --self-contained-html pytest parameters (#47313)
Remove HTML report generation parameters from CI test scripts:
- ci_e2e.sh
- ci_e2e_4am.sh
- ci_e2e_4am_without_restful.sh
- ci_e2e_with_restful.sh
- e2e.sh

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-29 14:07:32 +08:00
zhuwenxingandGitHub 8fac376afd test: upgrade minio sdk from 7.1.5 to 7.2.0 (#46186)
/kind improvement


fix minio sdk error
```
2025-12-08T07:54:48Z {container="step-test"} def _put_object(self, bucket_name, object_name, data, headers, 

2025-12-08T07:54:48Z {container="step-test"} query_params=None): 

2025-12-08T07:54:48Z {container="step-test"} """Execute PutObject S3 API.""" 

2025-12-08T07:54:48Z {container="step-test"} response = self._execute( 

2025-12-08T07:54:48Z {container="step-test"} "PUT", 

2025-12-08T07:54:48Z {container="step-test"} bucket_name, 

2025-12-08T07:54:48Z {container="step-test"} object_name, 

2025-12-08T07:54:48Z {container="step-test"} body=data, 

2025-12-08T07:54:48Z {container="step-test"} headers=headers, 

2025-12-08T07:54:48Z {container="step-test"} query_params=query_params, 

2025-12-08T07:54:48Z {container="step-test"} no_body_trace=True, 

2025-12-08T07:54:48Z {container="step-test"} ) 

2025-12-08T07:54:48Z {container="step-test"} return ObjectWriteResult( 

2025-12-08T07:54:48Z {container="step-test"} bucket_name, 

2025-12-08T07:54:48Z {container="step-test"} object_name, 

2025-12-08T07:54:48Z {container="step-test"} >           response.getheader("x-amz-version-id"), 

2025-12-08T07:54:48Z {container="step-test"} response.getheader("etag").replace('"', ""), 

2025-12-08T07:54:48Z {container="step-test"} response.getheaders(), 

2025-12-08T07:54:48Z {container="step-test"} ) 

2025-12-08T07:54:48Z {container="step-test"} E       AttributeError: 'HTTPResponse' object has no attribute 'getheader' 

2025-12-08T07:54:48Z {container="step-test"}  

2025-12-08T07:54:48Z {container="step-test"} /usr/local/lib/python3.10/site-packages/minio/api.py:1582: AttributeError
```

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-12-09 11:39:12 +08:00
zhikunyaoandGitHub aa0870d2ff test: add e2e-v2 helm for amd (#45621)
Signed-off-by: Zhikun Yao <zhikun.yao@zilliz.com>
2025-11-20 13:45:11 +08:00
yanliang567andGitHub b59a2d669f test: Add resource limit for e2e and nightly tests (#41820)
related issue: #41819
1. set resource limit for ci and nightly e2e tests
2. combine nightly standalone and standalone+auth
3. enable mmap for distributed-pulsar

---------

Signed-off-by: yanliang567 <yanliang.qiao@zilliz.com>
2025-05-15 14:22:22 +08:00
zhuwenxingandGitHub eb1eab8914 test: [skip e2e]fix nightly e2e scripts (#41782)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-05-13 15:20:56 +08:00
zhuwenxingandGitHub 1e65e3232f test: add csv import testcase and adjust import testcase tag (#41638)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-05-06 11:52:53 +08:00
Xianhui LinandGitHub f9febe3bae enhance: Merge RootCoord, DataCoord And QueryCoord into MixCoord (#41006)
Merge RootCoord, DataCoord And QueryCoord into MixCoord
Make Session into one
issue : https://github.com/milvus-io/milvus/issues/37764

---------

Signed-off-by: Xianhui.Lin <xianhui.lin@zilliz.com>
2025-04-11 16:36:30 +08:00
yihao.daiandGitHub b2a8694686 enhance: Merge IndexNode and DataNode (#40272)
Merge DataNode and IndexNode into DataNode.

issue: https://github.com/milvus-io/milvus/issues/39115

---------

Signed-off-by: bigsheeper <yihao.dai@zilliz.com>
2025-03-13 14:26:11 +08:00
Yinzuo JiangandGitHub 5a06faca39 feat: fp32 vector to fp16/bf16 vector conversion for RESTful API (#37556)
RESTful API. The influenced API are as follows:

- Handler. insert
- HandlerV1. insert/upsert
- HandlerV2. insert/upsert/search

We do not modify search API in Handler/HandlerV1 because they do not
support fp16/bf16 vectors.

module github.com/milvus-io/milvus/pkg:

Add `Float32ArrayToBFloat16Bytes()`, `Float32ArrayToFloat16Bytes()` and
`Float32ArrayToBytes()`. These method will be used in GoSDK in the
future.

issue: #37448

Signed-off-by: Yinzuo Jiang <yinzuo.jiang@zilliz.com>
Signed-off-by: Yinzuo Jiang <jiangyinzuo@foxmail.com>
2024-11-24 17:46:33 +08:00
Zhen YeandGitHub 889434691c enhance: enable asan for e2e (#37149)
issue: #35854

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2024-10-29 14:14:24 +08:00
nicoandGitHub e1b511a219 enhance: open mmap on standalone-kafka in ci-e2e (#36688)
Signed-off-by: nico <cheng.yuan@zilliz.com>
2024-10-09 19:03:19 +08:00
zhuwenxingandGitHub 31353ae406 test: add restful cases for text match feature (#36405)
/kind improvement

Since creating a collection with text match is not yet implemented on
the RESTful interface, we will temporarily use pymilvus to create a
collection for now. This PR includes a case to test using text match
filters in search queries through the RESTful interface.

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-09-28 16:51:15 +08:00
zhuwenxingandGitHub 7c2cb8c5d4 test: add bulk insert case for text match feature (#36398)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-09-27 10:01:14 +08:00
cai.zhangandGitHub b0939fd20e enhance: Reset task check interval configuration (#36121)
Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-09-10 14:35:08 +08:00
zhuwenxingandGitHub f4d0c589fa test: set bulk insert test fail fast (#36039)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-09-10 11:43:06 +08:00
wtandGitHub c916407f37 test: add query expr test cases (#36073)
1. query with expr under different scalar index types
2. test framework supports preparing one piece of data and multiple
parameter queries

Signed-off-by: wangting0128 <ting.wang@zilliz.com>
2024-09-09 19:55:06 +08:00
congqixiaandGitHub b75b25794b enhance: [skip e2e] Fix test script always skip pip install (#35766)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-08-28 17:01:00 +08:00
yellow-shineandGitHub bb9bed64a3 enhance: new nightly ci to support testing distributed-streaming (#35672)
issue: https://github.com/milvus-io/milvus/issues/35704

Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
2024-08-27 14:24:59 +08:00
yellow-shineandGitHub 241c71fdde enhance: use docker compose instead of docker-compose (#35208)
https://github.com/milvus-io/milvus/issues/35209

---------

Signed-off-by: Yellow Shine <sammy.huang@zilliz.com>
2024-08-02 19:32:32 +08:00
sammy.huangandGitHub 2cc9df5c50 [automated] Update cpu Builder image changes (#34078)
Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-06-25 10:56:10 +08:00
zhuwenxingandGitHub 1697706ac0 test: [skip e2e] optimize get_image_tag_by_short_name function (#33780)
Refactor the function to improve performance and readability. Instead of
making API requests to Docker Hub, the function now retrieves tags from
the Harbor registry. It also filters the tags based on the provided
architecture and selects the latest tag that matches the prefix. This
change enhances the efficiency of retrieving image tags by short name.

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-06-12 14:27:56 +08:00
zhuwenxingandGitHub 86274f70bd test: improve concurrency and reduce import test execution time (#33356)
improve concurrency and reduce import test execution time

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-06-06 15:57:58 +08:00
zhuwenxingandGitHub 4159a4d5d7 test: update nightly ci (#33430)
update nightly ci

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-31 13:54:07 +08:00
sammy.huangandGitHub 7ab7e3a004 feat: support arm-based image build and pull request (#33219)
Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-05-21 16:54:38 +08:00
zhuwenxingandGitHub 9e3f3d99f7 test: add timeout for import testcases (#33006)
add timeout for import testcases

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-13 19:35:32 +08:00
zhuwenxingandGitHub 29f3cb692b test:fix retry for network error (#32804)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-07 14:01:29 +08:00
zhuwenxingandGitHub e346714bf2 test: add reruns params in pytest command (#32720)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-04-30 17:11:26 +08:00
sammy.huangandGitHub 4e01591158 enhance: use soft node affinity instead of hard nodeSelector (#32677)
issue: #32627

Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-04-29 14:25:36 +08:00
sammy.huangandGitHub 9083f6999d enhance: bind dependency of miluvs during e2e to dedicated nodes (#32600)
#32627

Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-04-26 11:43:25 +08:00
sammy.huangandGitHub 4c7d3dade3 enhance: bind e2e to dedicated nodes (#32577)
Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-04-24 19:27:24 +08:00
zhuwenxingandGitHub 84c69f59a3 test: add retry for restful testcases (#32318)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-04-16 23:03:21 +08:00
zhuwenxingandGitHub ae5e3a4fe3 test:[skip e2e]update script to get image tag (#32334)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-04-16 20:29:19 +08:00
zhuwenxingandGitHub 520a302f3a test:[skip e2e]fix get image tag (#32306)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-04-16 15:53:19 +08:00
sammy.huangandGitHub ae307af19e enhance: [skip e2e]enable gpu e2e pipeline (#31821)
Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-04-03 11:41:21 +08:00
binbinandGitHub 3b5209c460 test: support enable or disable multiple vector fields in all data type tests (#31201)
issue: #29799

Signed-off-by: binbin lv <binbin.lv@zilliz.com>
2024-04-03 11:11:23 +08:00
zhuwenxingandGitHub c42492c0fd test: enable import job test in ci (#31530)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-03-28 10:31:10 +08:00
zhuwenxingandGitHub f2c2877609 test: update restful v2 testcases (#31404)
* update restful v2 test cases
* add case to ci

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-03-21 15:31:09 +08:00
sammy.huangandGitHub b63c29b4fa enhance: change config for etcd in nightly one pod (#31367)
Signed-off-by: Liang Huang <sammy.huang@zilliz.com>
2024-03-21 09:17:06 +08:00
zhuwenxingandGitHub b023bd09b3 test: skip bulk insert test for one pod standalone (#30780)
skip bulk insert test for one pod standalone

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-02-29 10:31:08 +08:00
zhuwenxingandGitHub f87a3a13d0 test: remove concurrent test in ci (#30862)
remove concurrent test in ci

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-02-27 19:38:56 +08:00
sammy.huangandGitHub 46d9ac5931 enhance: move the option of network mode into builder.sh file (#30419)
Signed-off-by: Sammy Huang <sammy.huang@zilliz.com>
2024-02-01 11:49:03 +08:00
zhuwenxingandGitHub b02b525196 test: refine debug log and error handle (#30406)
refine debug log and error handle

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-02-01 09:59:05 +08:00
sammy.huangandGitHub fb9d64ab1e enhance: hotfix container network (#30389)
Signed-off-by: Sammy Huang <sammy.huang@zilliz.com>
2024-01-31 10:23:05 +08:00
zhuwenxingandGitHub f92edc6cc5 test: Update requirements and pytest configuration (#30336)
Update requirements and pytest configuration

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-01-29 18:59:02 +08:00
zhuwenxingandGitHub cad8bf6c8d test: add restful client test in ci (#30036)
add restful client test in ci

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-01-23 21:34:55 +08:00
sammy.huangandGitHub 8a6bc2a804 enhance: [skip e2e]enable serviceMonitor for a nightly ci (#30141)
Signed-off-by: Sammy Huang <sammy.huang@zilliz.com>
2024-01-22 09:24:55 +08:00
sammy.huangandGitHub d3dd2a2032 enhance: correct nightly e2e (#29919)
Signed-off-by: Sammy Huang <sammy.huang@zilliz.com>
2024-01-12 14:42:52 +08:00