Skip to content

test: [cp3.0]add e2e tests for query_mode=large_topk collection property#48849

Open
yanliang567 wants to merge 1 commit into3.0from
cp48786-3.0
Open

test: [cp3.0]add e2e tests for query_mode=large_topk collection property#48849
yanliang567 wants to merge 1 commit into3.0from
cp48786-3.0

Conversation

@yanliang567
Copy link
Copy Markdown
Contributor

Cherry-pick from master
pr: #48786

Summary

Add e2e tests for query_mode=large_topk collection property.

🤖 Generated with Claude Code

…8736)

## Summary

- Add `tests/python_client/testcases/test_large_topk.py` covering the
`query_mode: large_topk` collection-level property
- 23 test cases across `TestLargeTopkShared` (read-only, shared
collection) and `TestLargeTopkIndependent` (per-test collection)
- Covers: create/alter/drop property CRUD, topk boundary (16385, up to
`large_topk_total - default_nb`), persistence after reload, growing
segments, case sensitivity of key vs value, negative paths

## Test coverage

| Priority | Cases |
|----------|-------|
| L0 | smoke (property set + search), topk > 16384 allowed |
| L1 | various topk values, alter/drop property workflow, persistence
after reload, growing segment, negative (alter/drop with index present)
|
| L2 | empty collection, round-trip add→drop, invalid value, case
sensitivity (key case-sensitive, value case-insensitive), contrast
without property |

## Notes

- `query_mode=large_topk` forces IVF RBQ2 internally; FLAT index is used
in test setup to maintain 100% recall for exact count assertions
- `col_large_topk` contains `large_topk_total=21000` rows (>
`large_topk_first=16385` with `default_nb=3000` headroom)
- Key/value case sensitivity inconsistency tracked in
#48725

Signed-off-by: yanliang567 <82361606+yanliang567@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
@sre-ci-robot
Copy link
Copy Markdown
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: yanliang567

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

The pull request process is described 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 size/XL Denotes a PR that changes 500-999 lines. do-not-merge/need-milestone generate by v2-label-manager labels Apr 8, 2026
@sre-ci-robot
Copy link
Copy Markdown
Contributor

[INFO] PR Label Summary by Default
[SUCCESS] PR #48786 merged to master

[WARNING] Milestone not set

You can set milestone by commenting:
/set-milestone
Example:
/set-milestone 2.5.0

Use /refresh-label to update related check and label manually

@mergify mergify bot added dco-passed DCO check passed. kind/test labels Apr 8, 2026
@sre-ci-robot
Copy link
Copy Markdown
Contributor

[ci-v2-notice]
Notice: ci-v2 system is enabled for this PR (3.0 branch).

To rerun ci-v2 checks, comment with:

  • /ci-rerun-build-ut-cov // for ci-v2/build-ut-cov (build + unit tests)
  • /ci-rerun-e2e-amd // for ci-v2/e2e-amd (e2e tests)
  • /ci-rerun-gosdk // for ci-v2/go-sdk (Go SDK E2E tests)

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

@yanliang567 yanliang567 added this to the 3.0 milestone Apr 8, 2026
@sre-ci-robot
Copy link
Copy Markdown
Contributor

✅ CI Loop Results 8bda4d2

Stage Result Duration Tests
✅ Build SUCCESS 13.6min -

Total: 27min | Pipeline | Artifacts

@mergify mergify bot added the ci-passed label Apr 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved area/test ci-passed dco-passed DCO check passed. do-not-merge/need-milestone generate by v2-label-manager kind/test sig/testing size/XL Denotes a PR that changes 500-999 lines.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants