Repository navigation
test: wait for indexed sources before mix compaction - #55252
xiaofan-luan merged 1 commit into
Conversation
Signed-off-by: xiaofanluan <xf@hjjaq.com>
|
/ci-rerun-e2e-pulsar-wp |
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
|
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: The full list of commands accepted by this bot can be found here. DetailsNeeds approval from an approver in each of these files:Approvers can indicate their approval by writing |
|
[ci-v2-notice] To rerun ci-v2 checks, comment with:
If you have any questions or requests, please contact @zhikunyao. |
The MixCompaction E2E can observe stable Flushed/L1/sorted sources while their vector indexes are still building. Index-based compaction then filters out every source, returns
compaction_id=-1, and the test fails its required-plan assertion.This adds an opt-in index-readiness check to the existing source waiter. The named index must be Finished, have no pending rows, and cover the current source snapshot before two stable observations count. The index RPC shares the existing deadline; failed indexes fail immediately with their reason. Other callers retain the existing behavior.
The MixCompaction test now uses an explicit schema and named FLAT index, verifies the actual index type, and enables the stronger wait. Existing plan, topology, row-count and primary-key assertions remain intact. Server-independent regressions are included in the existing compaction-integrity unit entrypoint.
Observed failure: #54582, GCP distributed Woodpecker E2E #72022. Service logs showed all three source indexes still InProgress when manual compaction returned zero tasks.
Validation
bash -n tests/scripts/ci_compaction_integrity_unit.shandgit diff --checkpassed.Focused local command:
PYTHONPATH=tests/python_client python3 -m pytest \ --noconftest -c /dev/null -p no:cacheprovider \ -o 'markers=tags: case tags' -q \ tests/python_client/common/compaction_index_readiness_helper_tests.py