Skip to content

[fix](regression) stabilize index change wait - #65197

Merged
hello-stephen merged 1 commit into
apache:masterfrom
shuke987:fix-index-change-6-wait-timeout
Jul 6, 2026
Merged

[fix](regression) stabilize index change wait#65197
hello-stephen merged 1 commit into
apache:masterfrom
shuke987:fix-index-change-6-wait-timeout

Conversation

@shuke987

@shuke987 shuke987 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor

Proposed changes

Stabilize inverted_index_p0/index_change/test_index_change_6.groovy for Cloud P0 index-change latency:

  • Increase the case-local index-change wait timeout from 60s to 300s.
  • Make the wait helper succeed only after all SHOW BUILD INDEX rows are observed as FINISHED.
  • Include the latest SHOW BUILD INDEX result in the timeout assertion for better triage.
  • Use the fixed case-local helper for the V1 drop-index waits as well.

Root cause

The failing Cloud P0 run executed DROP INDEX idx_user_id, then repeatedly observed the generated SHOW BUILD INDEX job as RUNNING for the full 60s window. The previous helper still passed at the timeout boundary because it asserted useTime <= OpTimeout, so the case immediately submitted DROP INDEX idx_note while the first Cloud index-change job was unfinished.

Cloud mode intentionally rejects a second unfinished index-change job on the same partition, which produced:

partition test_index_change_6 has been built specified index. please check your build stmt.

This is a case wait robustness issue rather than a product semantic regression.

Test

  • git diff --check

@hello-stephen

Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@shuke987

shuke987 commented Jul 3, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@shuke987

shuke987 commented Jul 6, 2026

Copy link
Copy Markdown
Contributor Author

/review

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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_6 by extending the case-local timeout, making the wait helper fail when jobs never reach FINISHED, 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, and IndexChangeJob; the reviewed waits observe synchronously registered index-change jobs after DDL/build submission.
  • Configuration/session behavior: enable_add_index_for_new_data remains 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 .out update is needed because the SQL result-producing queries and their ordering are unchanged.
  • Validation: exact-range git diff --check passed after fetching the base SHA. Local regression execution was not attempted because this review checkout is missing .worktree_initialized, thirdparty/installed, and thirdparty/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.

@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

PR approved by at least one committer and no changes requested.

@github-actions github-actions Bot added the approved Indicates a PR has been approved by one committer. label Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@hello-stephen
hello-stephen merged commit 056acbe into apache:master Jul 6, 2026
34 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by one committer. reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants