Skip to content

branch-4.1: [fix](test) Stabilize Paimon external path regression case - #67085

Merged
yiguolei merged 1 commit into
apache:branch-4.1from
Gabriel39:fix/paimon-external-paths-flaky-case
Aug 26, 2026
Merged

branch-4.1: [fix](test) Stabilize Paimon external path regression case#67085
yiguolei merged 1 commit into
apache:branch-4.1from
Gabriel39:fix/paimon-external-paths-flaky-case

Conversation

@Gabriel39

Copy link
Copy Markdown
Contributor

Proposed changes

  • Replace the probabilistic requirement that both round-robin roots appear with the stable path-set contract.
  • Keep an explicit non-empty assertion so an empty metadata result cannot pass vacuously.
  • Document why independent writer lifecycles do not guarantee coverage of both roots.

Problem summary

Paimon randomly initializes the round-robin position for each writer lifecycle. The regression case uses independent insert statements, so a valid finite run can select only one configured root and fail even though every file uses the configured path set.

Testing

  • Compiled the changed suite with the repository Groovy 4.0.19 dependency.
  • Verified the path predicate for one configured root, both roots, an empty list, and an unexpected root.
  • Ran git diff --check.
  • Not run: the focused external Paimon regression suite requires JDK 8 and an external Paimon test environment, which are not available in the isolated worktree.

@Gabriel39
Gabriel39 requested a review from yiguolei as a code owner August 25, 2026 01:50
@Gabriel39

Copy link
Copy Markdown
Contributor Author

run buildall

@Gabriel39

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 code review conclusion: no blocking issues found.

Opinion: approve. This is a comment-only review as required by the automated review instructions.

Critical checkpoints:

  • Correctness: the patch replaces a probabilistic both-root assertion with a non-empty, all-files configured-set assertion that matches Paimon 1.4.2 writer-lifecycle semantics.
  • Regression coverage: initial A/B placement, old-file retention, refreshed C/D placement, and Spark/Doris row parity remain enforced. The removed check covered upstream Paimon root distribution, not a Doris-owned cache or writer invariant.
  • Compatibility, performance, and security/configuration: no regression or new exposure found in this assertion-only change.
  • Convergence and deduplication: two full review rounds completed; the second normal and risk-focused reviews both returned NO_NEW_VALUABLE_FINDINGS. All earlier candidates were independently validated and dismissed with code evidence. No inline issue was accepted.
  • Validation state: the live PR head/base still match the authoritative bundle, and no existing review or inline comment required deduplication. Static formatting, license, and dependency checks are green. TeamCity COMPILE is still running, and the focused external Paimon regression suite was not run in this review runner.
  • User focus: no additional focus was provided; the complete PR was reviewed.

@yiguolei
yiguolei merged commit c248cbc into apache:branch-4.1 Aug 26, 2026
31 of 32 checks passed
suxiaogang223 added a commit to suxiaogang223/doris that referenced this pull request Sep 3, 2026
### What problem does this PR solve?

Issue Number: close apache#65086

Related PR: apache#65868, apache#66325, apache#67023, apache#67085

Problem Summary: Forward-port the final branch-4.1 Paimon write regression matrix to master, including append and primary-key modes, bucket routing, transactions, schema evolution, row-level DML, Variant V2, snapshot references, writer lifecycle, cache coherence, and stabilized external paths. Generated golden outputs are preserved byte-for-byte from branch-4.1.

### Release note

None

### Check List (For Author)

- Test: Regression test
    - Test cases and generated expected outputs were forward-ported; execution is deferred until the final integrated validation.
- Behavior changed: No
- Does this need documentation: No
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants