366 Commits

Author SHA1 Message Date
zhuwenxing
e3a85be435
test: replace parquet with jsonl for EventRecords and RequestRecords in checker (#46671)
/kind improvement

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->
- Core invariant: tests' persistence of EventRecords and RequestRecords
must be append-safe under concurrent writers; this PR replaces Parquet
with JSONL and uses per-file locks and explicit buffer flushes to
guarantee atomic, append-safe writes (EventRecords uses event_lock +
append per line; RequestRecords buffers under request_lock and flushes
to file when threshold or on sink()).

- Logic removed/simplified and rationale: DataFrame-based parquet
append/read logic (pyarrow/fastparquet) and implicit parquet buffering
were removed in favor of simple line-oriented JSON writes and explicit
buffer management. The complex Parquet append/merge paths were redundant
because parquet append under concurrent test-writer patterns caused
corruption; JSONL removes the append-mode complexity and the
parquet-specific buffering/serialization code.

- Why no data loss or behavior regression (concrete code paths):
EventRecords.insert writes a complete JSON object per event under
event_lock to /tmp/ci_logs/event_records_*.jsonl and get_records_df
reads every JSON line under the same lock (or returns an empty DataFrame
with the same schema on FileNotFound/Error), preserving all fields
event_name/event_status/event_ts. RequestRecords.insert appends to an
in-memory buffer under request_lock and triggers _flush_buffer() when
len(buffer) >= 100; _flush_buffer() writes each buffered JSON line to
/tmp/ci_logs/request_records_*.jsonl and clears the buffer; sink() calls
_flush_buffer() under request_lock before get_records_df() reads the
file — ensuring all buffered records are persisted before reads. Both
read paths handle FileNotFoundError and exceptions by returning empty
DataFrames with identical column schemas, so external callers see the
same API and no silent record loss.

- Enhancement summary (concrete): Replaces flaky Parquet append/read
with JSONL + explicit locking and deterministic flush semantics,
removing the root cause of parquet append corruption in tests while
keeping the original DataFrame-based analysis consumers unchanged
(get_records_df returns equivalent schemas).
<!-- end of auto-generated comment: release notes by coderabbit.ai -->

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-12-30 14:13:21 +08:00
zhuwenxing
f4f5e0f4dc
test: add highlighter in checker (#46289)
/kind improvement

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

## Summary by CodeRabbit

* **Tests**
  * Updated test suite dependencies to pymilvus 2.7.0rc91.
  * Enhanced text highlighting validation in test checkers.

<sub>✏️ Tip: You can customize this high-level summary in your review
settings.</sub>

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

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-12-30 14:11:26 +08:00
zhuwenxing
3aa0b769e5
test: add unique error message collection in chaos checker (#46262)
/kind improvement

- Add normalize_error_message function to extract and normalize error
text
- Collect unique error messages during chaos test execution
- Display error details in assertion messages for better debugging

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-12-11 13:49:12 +08:00
zhuwenxing
f68bd44f35
test: unify schema retrieval to use get_schema() method in chaos checker (#45985)
/kind improvement


Replace direct self.schema access and describe_collection() calls with
get_schema() method to ensure consistent schema handling with complete
struct_fields information. Also fix FlushChecker error handling and
change schema log level from info to debug.

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-12-02 09:43:10 +08:00
zhuwenxing
2d7574b5a3
test: refactor connection method to prioritize uri/token and add query limit (#45901)
- Refactor connection logic to prioritize uri and token parameters over
host/port/user/password for a more modern connection approach
- Add explicit limit parameter (limit=5) to search and query operations
in chaos checkers to avoid returning unlimited results
- Migrate test_all_collections_after_chaos.py from Collection wrapper to
MilvusClient API style
- Update pytest fixtures in chaos test files to support uri/token params

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-11-27 19:25:07 +08:00
zhuwenxing
464a805c63
test: add dynamicfield.enabled property alter in chaos checker (#45625)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-11-27 14:53:08 +08:00
zhuwenxing
e0df44481d
test: refactor checker to using milvus client (#45524)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-11-20 11:59:08 +08:00
Feilong Hou
db42b2df75
test: fix partial update chaos checker (#45492)
Issue: #45489 
<fix>: <fix partial update chaos checker>

 On branch feature/partial-update
 Changes to be committed:
	modified:   chaos/checker.py

---------

Signed-off-by: Eric Hou <eric.hou@zilliz.com>
Co-authored-by: Eric Hou <eric.hou@zilliz.com>
2025-11-13 17:29:37 +08:00
zhuwenxing
1e130683be
test: add geometry datatype in checker (#44794)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-10-24 11:28:04 +08:00
Feilong Hou
f9afde23d1
test: Add New Test Cases for Partial Update (#44483)
Issue: #43872 
<fix>: <fix after accidental force pull>

 Changes to be committed:
	modified:   chaos/checker.py
	modified:   chaos/testcases/test_single_request_operation.py
	modified:   common/common_func.py
	modified:   common/common_type.py
	modified:   milvus_client/test_milvus_client_insert.py

This includes e2e cases and chaos checker.
All the cases are currently skipped due to partial update feature not
ready.

1. test_milvus_client_partial_update_insert_delete_upsert_with_flush():
insert -> delete -> flush -> query -> upsert -> flush -> query
2.
test_milvus_client_partial_update_insert_upsert_delete_upsert_flush():
insert -> upsert -> delete -> upsert -> flush -> query
3.
test_milvus_client_partial_update_insert_upsert_flush_delete_upsert_flush():
insert -> upsert -> flush -> delete -> upsert -> flush -> query Also
update requirements.txt to use latest pymilvus version

---------

Signed-off-by: Eric Hou <eric.hou@zilliz.com>
Co-authored-by: Eric Hou <eric.hou@zilliz.com>
2025-09-23 09:06:12 +08:00
zhuwenxing
b619684ca2
test: add collection rename checker in chaos test (#43412)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-07-21 11:34:53 +08:00
zhuwenxing
21008c1bd2
test: add rolling upgrade test scripts (#43109)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-07-17 14:26:52 +08:00
zhuwenxing
b043ff14c2
test: add add_collection_field feature in checker for chaos test (#42085)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-06-20 15:24:39 +08:00
zhuwenxing
69be718105
test: [skip e2e]remove tls connection (#42799)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-06-18 10:34:43 +08:00
Emmanuel Ferdman
c5adc09127
test: fix: resolve Python Logger warnings (#41827)
# PR Summary
This PR resolves the deprecation warnings of the `logger` library:
```python
DeprecationWarning: The 'warn' method is deprecated, use 'warning' instead
```

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-06-03 14:47:51 +08:00
zhuwenxing
bfa948c2d4
test: Add int8 vector field support in search checker (#42047)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-05-26 16:18:49 +08:00
Zhen Ye
9cb5271027
enhance: remove support of embeded nats mq (#41565)
issue: #41564

Signed-off-by: chyezh <chyezh@outlook.com>
2025-04-28 23:06:49 +08:00
zhuwenxing
d4b56ea4ab
test: [skip e2e]fix mixcoord label selectors (#41340)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-04-16 15:18:31 +08:00
zhuwenxing
6a12304d1e
test: add alter collection checker (#41281)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-04-15 11:02:34 +08:00
zhuwenxing
8b9bb5dd68
test: add JsonQueryChecker in test (#41096)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-04-10 10:28:29 +08:00
yihao.dai
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
zhuwenxing
45256c41d6
test: fix text match (#40295)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-03-03 21:26:00 +08:00
zhuwenxing
828ecacadc
test: fix checker function name, release mistake and add nullable (#40135)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-02-26 10:27:56 +08:00
zhuwenxing
9d37f0f9ee
test: add fts and text match verification in second test (#39970)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-02-19 14:12:58 +08:00
zhuwenxing
31fe8cc1c3
test: add phrase match in chaos test (#39765)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-02-11 13:56:45 +08:00
zhuwenxing
a3df2782d6
test: [skip e2e]add streaming node chaos test (#39674)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2025-02-08 15:34:43 +08:00
zhuwenxing
95c1ccc20d
test: [skip e2e]update chaos test script (#38886)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-12-31 16:12:52 +08:00
zhuwenxing
e19b8f2114
test: update default value of pytest addoption (#38836)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-12-30 14:34:51 +08:00
zhuwenxing
d433b754ce
test: [skip e2e]remove secure=True in connections (#38779)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-12-27 16:58:50 +08:00
zhuwenxing
5e807c3649
test:[skip e2e] update pulsar labelSelectors to v3 in chaos test (#38049)
After upgrading pulsar from v2 to v3, the labels of the helm deployed
pulsar were changed from app=pulsarv to app=pulsarv3.
Therefore, it is necessary to modify this part of the labelSelector so
that chaos mesh can correctly inject faults

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-11-28 14:18:35 +08:00
zhuwenxing
0fc6c634b0
test: fix tokenizer and monkey patch faker function (#37119)
/kind improvement

---------

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
Signed-off-by: zhuwenxing <wxzhuyeah@gmail.com>
2024-11-05 08:42:23 +08:00
cai.zhang
50de122dc7
enhance: Rename textmatch to text_match (#37290)
issue: #36672

Signed-off-by: Cai Zhang <cai.zhang@zilliz.com>
2024-11-03 18:40:27 +08:00
zhuwenxing
6e37372619
test: update checker (#37275)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-10-31 09:50:20 +08:00
zhuwenxing
cdee149191
test: fix testcases for verification after chaos (#37153)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-10-28 10:33:29 +08:00
zhuwenxing
ac2858d418
test: add full text search checker in test (#37122)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-10-25 14:09:29 +08:00
zhuwenxing
80d48f1e53
test: add text match checker in test (#37052)
/kind improvement

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-10-23 09:49:27 +08:00
zhuwenxing
a08000cfbf
enhance:[skip e2e]update one pod mode resource (#34196)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-06-26 16:54:05 +08:00
zhuwenxing
3336b91ce6
test: add channel exclusive balance test and resource group test (#33093)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-31 13:55:52 +08:00
binbin
be87ae6424
test: update pymilvus version (#33079)
issue: #17614

Signed-off-by: binbin lv <binbin.lv@zilliz.com>
2024-05-16 14:53:34 +08:00
zhuwenxing
9a269f1489
test: add import checker to chaos test (#32908)
add import checker to chaos test

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-05-10 11:43:30 +08:00
zhuwenxing
8442098457
test: skip index if it already created (#32402)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-04-22 10:37:22 +08:00
zhuwenxing
109cd0402f
test: fix delete expr (#32377)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-04-18 17:25:20 +08:00
zhuwenxing
88d426f390
enhance:[skip e2e]add some custom deploy config back (#31716)
This reverts commit ede52692210f7ad7657b4902774c4a67dd5a5fb0.

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-03-29 18:15:17 +08:00
zhuwenxing
ede5269221
enhance:[skip e2e]remove some custom deploy config (#31440)
Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-03-20 20:51:26 +08:00
zhuwenxing
d184e11b8e
enhance:[skip e2e]update one pod helm values (#31400)
update one pod helm values

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-03-19 17:23:06 +08:00
zhuwenxing
0a2655dba0
test: fix chaos apply time (#31076)
* increase waiting time 
* still apply chaos even timeout

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-03-08 10:25:10 +08:00
zhuwenxing
d2c286c536
test: skip building index when field already has index (#30820)
skip building index when field already has index

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-02-28 14:08:58 +08:00
zhuwenxing
f0bff1e1a8
test: add hybrid search in checker for test (#30341)
add hybrid search in checker for test

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-02-23 10:46:52 +08:00
zhuwenxing
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
zhuwenxing
e6daff49a6
test: fix query result verification (#30351)
fix query result verification:
changed the query expression and adopted a more lenient validation
method to address the issue of not being able to guarantee the retrieval
of specific IDs due to frequent deletion operation

Signed-off-by: zhuwenxing <wenxing.zhu@zilliz.com>
2024-01-31 14:11:04 +08:00