38 Commits

Author SHA1 Message Date
Zhen Ye
bb913dd837
fix: simplify go ut (#46606)
issue: #46500

- simplify the run_go_codecov.sh to make sure the set -e to protect any
sub command failure.
- remove all embed etcd in test to make full test can be run at local.

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## PR Summary: Simplify Go Unit Tests by Removing Embedded etcd and
Async Startup Scaffolding

**Core Invariant:**
This PR assumes that unit tests can be simplified by running without
embedded etcd servers (delegating to environment-based or external etcd
instances via `kvfactory.GetEtcdAndPath()` or `ETCD_ENDPOINTS`) and by
removing goroutine-based async startup scaffolding in favor of
synchronous component initialization. Tests remain functionally
equivalent while becoming simpler to run and debug locally.

**What is Removed or Simplified:**

1. **Embedded etcd test infrastructure deleted**: Removes
`EmbedEtcdUtil` type and its public methods (SetupEtcd,
TearDownEmbedEtcd) from `pkg/util/testutils/embed_etcd.go`, removes the
`StartTestEmbedEtcdServer()` helper from `pkg/util/etcd/etcd_util.go`,
and removes etcd embedding from test suites (e.g., `TaskSuite`,
`EtcdSourceSuite`, `mixcoord/client_test.go`). Tests now either skip
etcd-dependent tests (via `MILVUS_UT_WITHOUT_KAFKA=1` environment flag
in `kafka_test.go`) or source etcd from external configuration (via
`kvfactory.GetEtcdAndPath()` in `task_test.go`, or `ETCD_ENDPOINTS`
environment variable in `etcd_source_test.go`). This eliminates the
overhead of spinning up temporary etcd servers for unit tests.

2. **Async startup scaffolding replaced with synchronous
initialization**: In `internal/proxy/proxy_test.go` and
`proxy_rpc_test.go`, the `startGrpc()` method signature removes the
`sync.WaitGroup` parameter; components are now created, prepared, and
run synchronously in-place rather than in goroutines (e.g., `go
testServer.startGrpc(ctx, &p)` becomes `testServer.startGrpc(ctx, &p)`
running synchronously). Readiness checks (e.g., `waitForGrpcReady()`)
remain in place to ensure startup safety without concurrency constructs.
This simplifies control flow and reduces debugging complexity.

3. **Shell script orchestration unified with proper error handling**: In
`scripts/run_go_codecov.sh` and `scripts/run_intergration_test.sh`,
per-package inline test invocations are consolidated into a single
`test_cmd()` function with unified `TEST_CMD_WITH_ARGS` array containing
race, coverage, verbose, and other flags. The problematic `set -ex` is
replaced with `set -e` alone (removing debug output noise while
preserving strict error semantics), ensuring the scripts fail fast on
any command failure.

**Why No Regression:**
- Test assertions and code paths remain unchanged; only deployment
source of etcd (embedded → external) and startup orchestration (async →
sync) change.
- Readiness verification (e.g., `waitForGrpcReady()`) is retained,
ensuring components are initialized before test execution.
- Test flags (race detection, coverage, verbosity) are uniformly applied
across all packages via unified `TEST_CMD_WITH_ARGS`, preserving test
coverage and quality.
- `set -e` alone is sufficient for strict failure detection without the
`-x` flag's verbose output.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->

---------

Signed-off-by: chyezh <chyezh@outlook.com>
2025-12-31 16:07:22 +08:00
cai.zhang
b2fa3dd0ae
fix: Disable VCS to allow pkg tests to run (#46501)
### **Description**
- Add `-buildvcs=false` flag to Go test commands in coverage script

- Increase default session TTL from 10s to 15s

- Update SessionTTL parameter default value from 30 to 15


Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
Co-authored-by: bigsheeper <yihao.dai@zilliz.com>
Co-authored-by: chyezh <chyezh@outlook.com>
Co-authored-by: czs007 <zhenshan.cao@zilliz.com>
2025-12-25 14:31:19 +08:00
wei liu
1fae8f5ae3
enhance: Optimize FlushAll performance for multi-table scenarios (#43339)
Replace multiple per-table flush RPC calls with single FlushAll RPC to
improve performance in multi-table scenarios.
issue: #43338
- Implement server-side FlushAll request processing in
DataCoord/MixCoord
- Add flushAllTask to handle unified flush operations across all tables
- Replace proxy-side per-table flush iteration with single RPC call
- Support both streaming and non-streaming service execution paths
- Add comprehensive unit tests for new FlushAll implementation

---------

Signed-off-by: Wei Liu <wei.liu@zilliz.com>
2025-07-30 15:37:37 +08:00
congqixia
f813fb4563
enhance: [GoSDK] Remove example in main pkg to make ut script work (#37472)
Related to #31293

Example with main func/package causes `go list` command failed with vcs
error. This PR removes example files with main package. The example
snippet shall be added back in runnable test format.

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-11-07 10:50:25 +08:00
Ted Xu
63f0154dfb
fix: enable milvus.yaml check (#34567)
See #32168

---------

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-07-25 18:05:46 +08:00
congqixia
8cf2cf5c94
enhance: Add go-deadlock as unittest only dependency (#33063)
See also #33062

This PR:

- Add `lock.RWMutex` & `lock.Mutex` alias to switch implementation based
  on build flags
- When build flags has `test` in it, use `go-deadlock` to detect
  possible deadlocks
- Replace all `sync.RWMutex` & `sync.Mutex` in datacoord pkg

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-15 16:33:34 +08:00
congqixia
244d2c04f6
feat: Add milvusclient package and migrate GoSDK (#32907)
Related to #31293

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-05-10 18:01:30 +08:00
Ted Xu
744a54a534
enhance: enforce milvus.yaml assertion in UT (#32357)
See #32168

Signed-off-by: Ted Xu <ted.xu@zilliz.com>
2024-04-19 16:47:20 +08:00
congqixia
f399416b92
enhance: Use gotestsum to run go unit test (#31622)
See also #31490

---------

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2024-03-27 15:29:10 +08:00
congqixia
d343888f3c
Fix pkg codecov & static-check script (#26720)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2023-08-31 09:59:01 +08:00
Enwei Jiao
4aed32ff61
Use librdkafka for all platform (#25538)
Signed-off-by: Enwei Jiao <enwei.jiao@zilliz.com>
2023-07-13 15:34:33 +08:00
Enwei Jiao
4048caa8ca
Use only one go.mod (#24669)
Signed-off-by: Enwei Jiao <enwei.jiao@zilliz.com>
2023-06-07 14:22:36 +08:00
congqixia
db5c4052da
Execute set -e after source setenv.sh (#23974)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2023-05-10 16:05:20 +08:00
Enwei Jiao
967a97b9bd
Support json & array types (#23408)
Signed-off-by: yah01 <yang.cen@zilliz.com>
Co-authored-by: yah01 <yang.cen@zilliz.com>
2023-04-20 11:32:31 +08:00
congqixia
5276529524
Make pkg code change trigger ci workflow (#23312)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2023-04-11 10:32:31 +08:00
Jenny Li
44aed995ae
[skip e2e] Add time caculate for cpp ut && go ut (#20552)
Signed-off-by: Jenny Li <jing.li@zilliz.com>

Signed-off-by: Jenny Li <jing.li@zilliz.com>
2022-11-14 14:43:06 +08:00
Jiquan Long
22477d4601
UnWatch channels if failed to create collection (#19390)
Signed-off-by: longjiquan <jiquan.long@zilliz.com>

Signed-off-by: longjiquan <jiquan.long@zilliz.com>
2022-09-23 16:56:50 +08:00
congqixia
43c14055f6
Fix test compact logic and data race (#18932)
Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>

Signed-off-by: Congqi Xia <congqi.xia@zilliz.com>
2022-08-31 12:10:57 +08:00
jaime
74a87f8000
Disable ut about kafka temporarily (#18611)
Signed-off-by: yun.zhang <yun.zhang@zilliz.com>

Signed-off-by: yun.zhang <yun.zhang@zilliz.com>
2022-08-12 13:30:38 +08:00
jaime
4a32c1bb8e
Enable kafka ut with a mocked kafka server (#18366)
Signed-off-by: yun.zhang <yun.zhang@zilliz.com>
2022-08-03 19:06:35 +08:00
Enwei Jiao
ea901393ef
fix windows ldflags (#17807)
Signed-off-by: Enwei Jiao <enwei.jiao@zilliz.com>
2022-06-28 19:58:25 +08:00
Enwei Jiao
16c3aedc15
refine complie configuration (#17502)
Signed-off-by: Enwei Jiao <enwei.jiao@zilliz.com>
2022-06-24 21:12:15 +08:00
Jiquan Long
98ceb162aa
Support antlr as plan parser (#16696)
Signed-off-by: dragondriver <jiquan.long@zilliz.com>

Co-authored-by: xaxys <tpnnghd@163.com>

Co-authored-by: xaxys <tpnnghd@163.com>
2022-05-06 17:43:51 +08:00
Ten Thousand Leaves
f93862fa2b
Fix build and tests for Mac M1, also enabled more tests for OSX systems (#16552)
issue: #16500

/kind enhancement

Signed-off-by: Yuchen Gao <yuchen.gao@zilliz.com>
2022-04-20 23:03:41 +08:00
jaime
ed3c29eae7
Support Kafka (#16149)
Signed-off-by: yun.zhang <yun.zhang@zilliz.com>
2022-04-12 19:47:33 +08:00
groot
5fdef607d5
Add rpc interfaces for import (#15930)
Signed-off-by: yhmo <yihua.mo@zilliz.com>
2022-03-09 18:33:59 +08:00
jaime
307a8ce535
Support compile and run on Mac (#15491)
Co-authored-by: jaime <yun.zhang@zilliz.com>
Co-authored-by: Cai Yudong <yudong.cai@zilliz.com>
Co-authored-by: Jenny Li <jing.li@zilliz.com>
Co-authored-by: Nemo <yuchen.gao@zilliz.com>
Signed-off-by: yun.zhang <yun.zhang@zilliz.com>

Co-authored-by: Cai Yudong <yudong.cai@zilliz.com>
Co-authored-by: Jenny Li <jing.li@zilliz.com>
Co-authored-by: Nemo <yuchen.gao@zilliz.com>
2022-02-09 14:27:46 +08:00
xige-16
0ddf890a32
Print test info when run ut (#14470)
Signed-off-by: xige-16 <xi.ge@zilliz.com>
2021-12-29 13:49:20 +08:00
XuanYang-cn
4a32f1b0fc
[skip ci]Add LF AI&Data foundation license (#9507)
Signed-off-by: yangxuan <xuan.yang@zilliz.com>
2021-10-09 18:01:27 +08:00
groot
e4dc44b41f
[skip ci] Modify script description (#9337)
Signed-off-by: groot <yihua.mo@zilliz.com>
2021-10-06 19:26:54 +08:00
groot
033befa2bc
[skip ci] Modify description of script (#9185)
Signed-off-by: groot <yihua.mo@zilliz.com>
2021-10-04 09:03:55 +08:00
groot
94af9ec47d
[skip ci] Add description to coverage script (#9138)
Signed-off-by: Yihua <michaelmo@YihuadeMacBook-Pro.local>

Co-authored-by: Yihua <michaelmo@YihuadeMacBook-Pro.local>
2021-10-03 17:48:10 +08:00
groot
9cd291d2a6
[skip ci] Macro for go coverage script (#8999)
Signed-off-by: yhmo <yihua.mo@zilliz.com>
2021-10-01 20:28:33 +08:00
groot
b62b13040b
[skip ci] Update script comment (#8859)
Signed-off-by: yhmo <yihua.mo@zilliz.com>
2021-09-29 17:20:00 +08:00
groot
69d683c693
Update codecov api to v2 (#8471)
Signed-off-by: yhmo <yihua.mo@zilliz.com>
2021-09-24 16:41:55 +08:00
groot
77e88144fc
Update code coverage script (#8280)
Signed-off-by: yhmo <yihua.mo@zilliz.com>
2021-09-22 16:01:53 +08:00
wt
780a4d2c8e
Update script of run_go_codecov (#7248)
Signed-off-by: wangting0128 <ting.wang@zilliz.com>
2021-08-23 22:01:51 +08:00
Xiangyu Wang
746fc556a0
[skip ci]Add go code coverage (#5024)
Signed-off-by: Xiangyu Wang <xiangyu.wang@zilliz.com>
2021-04-24 15:10:24 +08:00