Skip to content

[fix](regression) Fix docker regression case assertions#65201

Merged
deardeng merged 5 commits into
apache:masterfrom
pingchunzhang:fix-docker-case
Jul 10, 2026
Merged

[fix](regression) Fix docker regression case assertions#65201
deardeng merged 5 commits into
apache:masterfrom
pingchunzhang:fix-docker-case

Conversation

@pingchunzhang

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: Fix several unstable docker regression cases. LRU persist now validates restart and dump availability instead of comparing dump md5 across BE stop/start. TeamCity reporting now resolves the actual failing Groovy stack frame to avoid reporting failures against the wrong running suite. Cloud/file cache and compaction cases now avoid exact segment-count assumptions, poll stale rowset file cache state, and print rowset, unused_rowsets_count, and file cache diagnostics on timeout.

Release note

None

Check List (For Author)

  • Test: Manual test
    • Ran git diff --check for the synchronized regression files.
    • Did not run full docker regression locally.
  • Behavior changed: No
  • Does this need documentation: No

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: Fix several unstable docker regression cases. LRU persist now validates restart and dump availability instead of comparing dump md5 across BE stop/start. TeamCity reporting now resolves the actual failing Groovy stack frame to avoid reporting failures against the wrong running suite. Cloud/file cache and compaction cases now avoid exact segment-count assumptions, poll stale rowset file cache state, and print rowset, unused_rowsets_count, and file cache diagnostics on timeout.

### Release note

None

### Check List (For Author)

- Test: Manual test
    - Ran git diff --check for the synchronized regression files.
    - Did not run full docker regression locally.
- Behavior changed: No
- Does this need documentation: No
@pingchunzhang
pingchunzhang requested a review from gavinchou as a code owner July 3, 2026 08:50
@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?

@pingchunzhang

Copy link
Copy Markdown
Contributor Author

/review

### What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary: Stabilize cloud cache warmup docker regression cases by using the correct debug point sleep unit, relaxing an overly exact in-progress segment assertion, and renaming the default compute group in the table warmup case so stream load targets the expected backend.

### Release note

None

### Check List (For Author)

- Test: No need to test (commit existing Groovy regression case changes only; tests were not run in this step)
- Behavior changed: No
- Does this need documentation: No
@pingchunzhang

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

/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.

I found one regression coverage issue in test_lru_persist: the updated assertion checks only that a non-empty LRU dump was rewritten after restart, not that the pre-restart LRU state was restored. Please see the inline comment.

Checkpoint summary: the PR is otherwise focused on regression stabilization; no extra user focus was provided; no product-code concurrency, lifecycle, config, compatibility, or optimizer/rewrite issue was found in the reviewed diff. The raw-thread replacements use the framework thread(...).get() pattern consistently in the touched cases.

Subagent conclusions: optimizer-rewrite reported no candidates. tests-session-config proposed tests-session-config-001, which was accepted as main-001 and submitted inline. Convergence round 1 ended with both live subagents returning NO_NEW_VALUABLE_FINDINGS for this same final comment set.

Validation: static review plus git diff --check. Full regression tests/build were not run because this shallow checkout lacks initialized submodules and thirdparty/installed/protoc.

+ "last modified: ${normalDump.lastModified()}")
assert normalDump.exists()
assert normalDump.length() > 0
assert normalDump.lastModified() > normalDumpLastModifiedBeforeRestart

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.

This weakens the regression from checking the persisted LRU content to checking only that a dump file exists and was rewritten. A broken restore path that drops or regenerates the normal LRU queue could still leave a non-empty lru_dump_normal.tail with a newer mtime, and the select count(*) above only proves table data is readable, not that the pre-restart LRU state was restored. Could we keep a semantic persistence check here, for example by parsing/normalizing the dump entries or asserting a restored cache/LRU state, instead of relying on timestamp advancement?

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

Copy link
Copy Markdown
Contributor

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

@github-actions

Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@deardeng
deardeng merged commit 296a3bb into apache:master Jul 10, 2026
35 checks passed
github-actions Bot pushed a commit that referenced this pull request Jul 10, 2026
### What problem does this PR solve?

Issue Number: None

Related PR: None

Problem Summary: Fix several unstable docker regression cases. LRU
persist now validates restart and dump availability instead of comparing
dump md5 across BE stop/start. TeamCity reporting now resolves the
actual failing Groovy stack frame to avoid reporting failures against
the wrong running suite. Cloud/file cache and compaction cases now avoid
exact segment-count assumptions, poll stale rowset file cache state, and
print rowset, unused_rowsets_count, and file cache diagnostics on
timeout.

### Release note

None

### Check List (For Author)

- Test: Manual test
    - Ran git diff --check for the synchronized regression files.
    - Did not run full docker regression locally.
- Behavior changed: No
- Does this need documentation: No

### What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

### Release note

None

### Check List (For Author)

- Test <!-- At least one of them must be included. -->
    - [x] Regression test
    - [ ] Unit Test
    - [ ] Manual test (add detailed scripts or steps below)
    - [ ] No need to test or manual test. Explain why:
- [ ] This is a refactor/code format and no logic has been changed.
        - [ ] Previous test can cover this change.
        - [ ] No code files have been changed.
        - [ ] Other reason <!-- Add your reason?  -->

- Behavior changed:
    - [x] No.
    - [ ] Yes. <!-- Explain the behavior change -->

- Does this need documentation?
    - [x] No.
- [ ] Yes. <!-- Add document PR link here. eg:
apache/doris-website#1214 -->

### Check List (For Reviewer who merge this PR)

- [ ] Confirm the release note
- [x] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label <!-- Add branch pick label that this PR
should merge into -->
yiguolei pushed a commit that referenced this pull request Jul 11, 2026
…65201 (#65447)

Cherry-picked from #65201

Co-authored-by: chunping <zhangchunping@selectdb.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants