Skip to content

test: expand CDC replication test coverage across features and chaos scenarios#49043

Open
bigsheeper wants to merge 3 commits intomilvus-io:masterfrom
bigsheeper:cdc-comprehensive-tests
Open

test: expand CDC replication test coverage across features and chaos scenarios#49043
bigsheeper wants to merge 3 commits intomilvus-io:masterfrom
bigsheeper:cdc-comprehensive-tests

Conversation

@bigsheeper
Copy link
Copy Markdown
Contributor

Summary

Extends the CDC (replication) e2e test suite with comprehensive cross-feature coverage and switchover/failover scenarios on top of #45624.

What's Added

New test files (`tests/python_client/cdc/testcases/`)

  • `test_fts_and_text.py` — BM25 search, text_match, phrase_match, hybrid FTS+dense, FTS after switchover (5 tests × 2 analyzers)
  • `test_schema_features.py` — dynamic schema, nullable, defaults, partition key, clustering key, combined features (7 tests)
  • `test_collection_properties.py` — TTL, mmap, autocompaction, multi-property, drop property (5 tests)
  • `test_resource_group.py` — create, drop, update, transfer replica (4 tests)
  • `test_multi_database.py` — cross-DB collections, drop DB with collections, cross-DB operations (3 tests)
  • `test_search_verification.py` — 6 tests × 7 vector types (search result consistency, query data sampling, hybrid search, iterators, filtered search)
  • `test_switchover.py` — basic, during-writes, all-types, loaded, indexed, rapid stress, failover (7 tests)

Shared utilities

  • `base.py`: +7 schema factories, +4 data generators, +4 verification helpers, +2 constants
  • `conftest.py`: +`switchover_helper` fixture, +`--is-check`/`--milvus-ns` options

Test plan

  • Run `pytest tests/python_client/cdc/testcases/` against two-cluster CDC deployment
  • Verify each test file runs independently via `pytest testcases/test_.py`
  • Companion PR in zilliztech/test-jobs adds Jenkins pipelines to run these

issue: #49042
pr: #45624

/kind test
/kind improvement

🤖 Generated with Claude Code

@sre-ci-robot sre-ci-robot added kind/test kind/improvement Changes related to something improve, likes ut and code refactor labels Apr 15, 2026
@sre-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: bigsheeper
To complete the pull request process, please assign jiaoew1991 after the PR has been reviewed.
You can assign the PR to them by writing /assign @jiaoew1991 in a comment when ready.

The full list of commands accepted by this bot can be found here.

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@sre-ci-robot sre-ci-robot added the size/XXL Denotes a PR that changes 1000+ lines. label Apr 15, 2026
@mergify mergify bot added the dco-passed DCO check passed. label Apr 15, 2026
@sre-ci-robot
Copy link
Copy Markdown
Contributor

[ci-v2-notice]
Notice: New ci-v2 system is enabled for this PR.

To rerun ci-v2 checks, comment with:

  • /ci-rerun-code-check // for ci-v2/code-check
  • /ci-rerun-build // for ci-v2/build
  • /ci-rerun-build-all // for ci-v2/build-all (multi-arch builds)
  • /ci-rerun-buildenv // for ci-v2/build-env (build milvus-env builder images)
  • /ci-rerun-ut-integration // for ci-v2/ut-integration, will rerun ci-v2/build
  • /ci-rerun-ut-go // for ci-v2/ut-go, will rerun ci-v2/build
  • /ci-rerun-ut-cpp // for ci-v2/ut-cpp
  • /ci-rerun-ut // for all ci-v2/ut-integration, ci-v2/ut-go, ci-v2/ut-cpp, will rerun ci-v2/build
  • /ci-rerun-e2e-default // for ci-v2/e2e-default
  • /ci-rerun-e2e-amd // for ci-v2/e2e-amd (e2e pool dispatcher)
  • /ci-rerun-build-ut-cov // for ci-v2/build-ut-cov (build + unit tests in one pipeline)
  • /ci-rerun-gosdk // for ci-v2/go-sdk (Go SDK E2E tests, ARM)

If you have any questions or requests, please contact @zhikunyao.

bigsheeper and others added 3 commits April 16, 2026 14:17
…lpers to base.py

- 7 new schema factories (FTS/BM25, dynamic, nullable, default-values, partition-key, clustering-key, single-vector)
- Class constants SEARCH_OVERLAP_THRESHOLD + FTS_SENTENCES
- 4 new data generators (fts, nullable, dynamic, single-vector)
- 4 verification helpers (data sampling, search consistency, query consistency, iterator consistency)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Yihao Dai <yihao.dai@zilliz.com>
…tests

- conftest: switchover_helper fixture, --is-check/--milvus-ns options
- test_fts_and_text: BM25 search, text match, phrase match, hybrid FTS, switchover
- test_schema_features: dynamic, nullable, defaults, partition key, clustering key

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Yihao Dai <yihao.dai@zilliz.com>
…h verification, and switchover tests

- test_collection_properties: TTL, mmap, autocompaction, multi-property, drop property
- test_resource_group: create, drop, update, transfer replica
- test_multi_database: cross-DB operations, drop DB
- test_search_verification: 7 vector types × search/query/iterator/hybrid/filtered
- test_switchover: basic, during-writes, all-types, loaded, indexed, rapid stress, failover

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Signed-off-by: Yihao Dai <yihao.dai@zilliz.com>
@bigsheeper bigsheeper force-pushed the cdc-comprehensive-tests branch from 7d91642 to 9442e0c Compare April 16, 2026 06:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/test dco-passed DCO check passed. kind/improvement Changes related to something improve, likes ut and code refactor kind/test sig/testing size/XXL Denotes a PR that changes 1000+ lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants