[fix](regression) stabilize index change wait - #65197
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
|
/review |
There was a problem hiding this comment.
Automated review completed for PR #65197.
I found no blocking issue to raise inline.
Critical checkpoint conclusions:
- Goal and tests: the PR stabilizes
test_index_change_6by extending the case-local timeout, making the wait helper fail when jobs never reachFINISHED, and applying that stricter helper to the V1 drop-index waits. This matches the stated regression-test goal. - Scope: the patch is small and limited to one regression suite.
- Concurrency/lifecycle: no production concurrency code is changed. I checked the FE index-change lifecycle around
SchemaChangeHandler,BuildIndexProcDir,ShowBuildIndexCommand, andIndexChangeJob; the reviewed waits observe synchronously registered index-change jobs after DDL/build submission. - Configuration/session behavior:
enable_add_index_for_new_dataremains set in the suite and still exercises the intended light index-change path; no new config is introduced. - Compatibility/storage/protocol: no product storage format, FE-BE protocol, or persisted metadata behavior is changed.
- Parallel paths: the V1 table now uses the same stricter wait helper already used by the rest of this suite, and query assertions remain unchanged.
- Test output: no
.outupdate is needed because the SQL result-producing queries and their ordering are unchanged. - Validation: exact-range
git diff --checkpassed after fetching the base SHA. Local regression execution was not attempted because this review checkout is missing.worktree_initialized,thirdparty/installed, andthirdparty/installed/bin/protoc; GitHub status rollup for the PR head shows compile, FE/BE/cloud UT, P0, Cloud P0, and related checks successful, with the code-review status still pending at review time.
User focus: no additional user-provided focus points were supplied.
Subagent conclusions: the optimizer-rewrite and tests-session-config subagents both found no candidate findings. After the main ledger merge and empty proposed inline comment set were recorded, convergence round 1 ended with both live subagents replying NO_NEW_VALUABLE_FINDINGS for the same final ledger/comment set.
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
Proposed changes
Stabilize
inverted_index_p0/index_change/test_index_change_6.groovyfor Cloud P0 index-change latency:SHOW BUILD INDEXrows are observed asFINISHED.SHOW BUILD INDEXresult in the timeout assertion for better triage.Root cause
The failing Cloud P0 run executed
DROP INDEX idx_user_id, then repeatedly observed the generatedSHOW BUILD INDEXjob asRUNNINGfor the full 60s window. The previous helper still passed at the timeout boundary because it asserteduseTime <= OpTimeout, so the case immediately submittedDROP INDEX idx_notewhile the first Cloud index-change job was unfinished.Cloud mode intentionally rejects a second unfinished index-change job on the same partition, which produced:
This is a case wait robustness issue rather than a product semantic regression.
Test
git diff --check