[test](regression) Add external correctness P0 coverage - #66002
Conversation
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
|
/review |
|
Codex automated review failed and did not complete. Error: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Jul 30th, 2026 7:58 AM. Please inspect the workflow logs and rerun the review after the underlying issue is resolved. |
a5cff33 to
102f49d
Compare
|
run buildall |
|
/review |
|
Codex automated review failed and did not complete. Error: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Jul 30th, 2026 7:58 AM. Please inspect the workflow logs and rerun the review after the underlying issue is resolved. |
|
/review |
|
Codex automated review failed and did not complete. Error: You've hit your usage limit. Visit https://chatgpt.com/codex/settings/usage to purchase more credits or try again at Jul 30th, 2026 7:58 AM. Please inspect the workflow logs and rerun the review after the underlying issue is resolved. |
### What problem does this PR solve?
Problem Summary:
This PR fills P0 regression gaps found while auditing the external-table
correctness issues under JIRA:
- bind Iceberg predicates and runtime filters correctly across
rename/drop/type evolution;
- scan, filter, and aggregate files written with multiple Iceberg
partition specs;
- keep an Iceberg write atomic after a pipeline error and make a
corrected retry visible exactly once;
- mask S3 and OAuth credentials in persisted audit statements.
The audit also found this, including a nested required-field
reproduction. This test-only PR does not change production code or
attempt to fix that issue.
### Release note
None
### Check List (For Author)
- Test
- [x] Regression test
- [ ] Unit Test
- [x] 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
Local verification:
`./run-regression-test.sh --run -s
test_iceberg_schema_evolution_filter_binding,test_iceberg_multi_spec_filter_aggregate,test_iceberg_failed_write_atomicity_retry,test_external_catalog_credential_masking`
Result: 4 suites passed, 0 failed.
- Behavior changed:
- [x] No.
- [ ] Yes.
- Does this need documentation?
- [x] 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?
Problem Summary:
This PR fills P0 regression gaps found while auditing the external-table
correctness issues under JIRA:
- bind Iceberg predicates and runtime filters correctly across
rename/drop/type evolution;
- scan, filter, and aggregate files written with multiple Iceberg
partition specs;
- keep an Iceberg write atomic after a pipeline error and make a
corrected retry visible exactly once;
- mask S3 and OAuth credentials in persisted audit statements.
The audit also found this, including a nested required-field
reproduction. This test-only PR does not change production code or
attempt to fix that issue.
### Release note
None
### Check List (For Author)
- Test
- [x] Regression test
- [ ] Unit Test
- [x] 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
Local verification:
`./run-regression-test.sh --run -s
test_iceberg_schema_evolution_filter_binding,test_iceberg_multi_spec_filter_aggregate,test_iceberg_failed_write_atomicity_retry,test_external_catalog_credential_masking`
Result: 4 suites passed, 0 failed.
- Behavior changed:
- [x] No.
- [ ] Yes.
- Does this need documentation?
- [x] 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?
Problem Summary:
This PR fills P0 regression gaps found while auditing the external-table
correctness issues under JIRA:
- bind Iceberg predicates and runtime filters correctly across
rename/drop/type evolution;
- scan, filter, and aggregate files written with multiple Iceberg
partition specs;
- keep an Iceberg write atomic after a pipeline error and make a
corrected retry visible exactly once;
- mask S3 and OAuth credentials in persisted audit statements.
The audit also found this, including a nested required-field
reproduction. This test-only PR does not change production code or
attempt to fix that issue.
### Release note
None
### Check List (For Author)
- Test
- [x] Regression test
- [ ] Unit Test
- [x] 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
Local verification:
`./run-regression-test.sh --run -s
test_iceberg_schema_evolution_filter_binding,test_iceberg_multi_spec_filter_aggregate,test_iceberg_failed_write_atomicity_retry,test_external_catalog_credential_masking`
Result: 4 suites passed, 0 failed.
- Behavior changed:
- [x] No.
- [ ] Yes.
- Does this need documentation?
- [x] 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?
Problem Summary:
This PR fills P0 regression gaps found while auditing the external-table
correctness issues under JIRA:
- bind Iceberg predicates and runtime filters correctly across
rename/drop/type evolution;
- scan, filter, and aggregate files written with multiple Iceberg
partition specs;
- keep an Iceberg write atomic after a pipeline error and make a
corrected retry visible exactly once;
- mask S3 and OAuth credentials in persisted audit statements.
The audit also found this, including a nested required-field
reproduction. This test-only PR does not change production code or
attempt to fix that issue.
### Release note
None
### Check List (For Author)
- Test
- [x] Regression test
- [ ] Unit Test
- [x] 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
Local verification:
`./run-regression-test.sh --run -s
test_iceberg_schema_evolution_filter_binding,test_iceberg_multi_spec_filter_aggregate,test_iceberg_failed_write_atomicity_retry,test_external_catalog_credential_masking`
Result: 4 suites passed, 0 failed.
- Behavior changed:
- [x] No.
- [ ] Yes.
- Does this need documentation?
- [x] 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?
Problem Summary:
This PR fills P0 regression gaps found while auditing the external-table
correctness issues under JIRA:
- bind Iceberg predicates and runtime filters correctly across
rename/drop/type evolution;
- scan, filter, and aggregate files written with multiple Iceberg
partition specs;
- keep an Iceberg write atomic after a pipeline error and make a
corrected retry visible exactly once;
- mask S3 and OAuth credentials in persisted audit statements.
The audit also found this, including a nested required-field
reproduction. This test-only PR does not change production code or
attempt to fix that issue.
### Release note
None
### Check List (For Author)
- Test
- [x] Regression test
- [ ] Unit Test
- [x] 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
Local verification:
`./run-regression-test.sh --run -s
test_iceberg_schema_evolution_filter_binding,test_iceberg_multi_spec_filter_aggregate,test_iceberg_failed_write_atomicity_retry,test_external_catalog_credential_masking`
Result: 4 suites passed, 0 failed.
- Behavior changed:
- [x] No.
- [ ] Yes.
- Does this need documentation?
- [x] No.
- [ ] Yes.
### Check List (For Reviewer who merge this PR)
- [ ] Confirm the release note
- [ ] Confirm test cases
- [ ] Confirm document
- [ ] Add branch pick label
## Proposed changes Backport the requested changes to `branch-4.1` in master merge order, skipping changes already present in this PR: 1. #62438 2. #65329 (merged prerequisite for the nested-schema cases) 3. #65960 4. #65965 5. #65972 6. #65998 7. #66002 8. #65992 9. #66021 10. #66036 11. #66008 12. #66073 13. #66056 (explicitly requested; current open-PR head, appended after the merged sequence) The branch-specific compatibility commits preserve the selected master behavior on `branch-4.1`, including master wire IDs for file formats and the merged Paimon test helper prerequisite. No regression expected output, test assertion, or test input was changed to make validation pass. ## Validation - Full BE ASAN build passed. - Full FE build passed. - Targeted BE ASAN unit tests: 332 tests from 13 suites passed. - Targeted FE Iceberg unit tests: 41 passed, 0 failed. - Iceberg write regression: 20 suites, 0 failed, 0 fatal. - `PaimonScanNodeTest`: all 16 test bodies completed with 0 assertion failures; the class reports one Mockito teardown error because #66008 left four now-unused stubs on master. The still-open #65867 contains the upstream test-only cleanup commit. This PR intentionally does not alter those test cases. - Final rebase against the latest `branch-4.1` completed; the branch was already up to date. - Working-tree, formatting, and sensitive-information audits completed. Existing EOF blank lines in picked regression output files are preserved. --------- Co-authored-by: daidai <changyuwei@selectdb.com> Co-authored-by: Mingyu Chen (Rayner) <yunyou@selectdb.com>
What problem does this PR solve?
Problem Summary:
This PR fills P0 regression gaps found while auditing the external-table correctness issues under JIRA:
The audit also found this, including a nested required-field reproduction. This test-only PR does not change production code or attempt to fix that issue.
Release note
None
Check List (For Author)
Test
Local verification:
./run-regression-test.sh --run -s test_iceberg_schema_evolution_filter_binding,test_iceberg_multi_spec_filter_aggregate,test_iceberg_failed_write_atomicity_retry,test_external_catalog_credential_maskingResult: 4 suites passed, 0 failed.
Behavior changed:
Does this need documentation?
Check List (For Reviewer who merge this PR)