Skip to content

[fix](iceberg) Fix historical scans after schema evolution - #67687

Merged
Gabriel39 merged 4 commits into
apache:masterfrom
Gabriel39:fix/iceberg-historical-scan-master
Sep 14, 2026
Merged

Gabriel39 merged 4 commits into
apache:masterfrom
Gabriel39:fix/iceberg-historical-scan-master

Conversation

@Gabriel39

@Gabriel39 Gabriel39 commented Sep 9, 2026 •

Copy link
Copy Markdown
Contributor

What this PR does

Ports #67479 from branch-4.1 to master.

  • Upgrade Iceberg from 1.10.1 to 1.11.0 and sync the vendored DeleteFileIndex.
  • Preserve historical-schema field lookup for equality deletes after columns are renamed or dropped.
  • Adapt the fix to the connector-based master layout, including DLF and HiveCatalog compatibility.
  • Index evolved partition structs by their position in each spec, because partition field IDs may contain gaps.
  • Add connector unit coverage for historical predicates after rename/drop and update Iceberg regression expectations.

Issue: DORIS-28397

Tests

  • Historical-schema and Iceberg 1.11 compatibility tests: 6 passed, 0 failed.
  • FE Checkstyle validation: passed with 0 violations.
  • Full fe-connector-iceberg reactor test run: 1390 passed, 5 skipped, 1 failed. The single failure (IcebergWritePlanProviderTest.planMergePreservesExplicitlyEmptyReadAcrossConcurrentFirstAppend) reproduces unchanged on the master baseline and is unrelated to this PR.

Adapt the branch-4.1 fix to the connector-based master layout and keep the Iceberg HiveCatalog dependency aligned with Iceberg core.

(cherry picked from commit 2c84c7f)
@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?

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

Requesting changes: five distinct correctness or compatibility issues remain on the exact reviewed head.

Review checkpoint conclusions:

  • Goal and scope: the Iceberg 1.11 upgrade is focused, but it does not yet fully fix historical scans. The schema-only snapshot state and manifest-cache equality-delete path remain broken, and evolved partition metadata can be rendered incorrectly.
  • Correctness, conditions, error handling, and parallel paths: the accepted findings cover a lazy streaming failure, an incorrect unified-partition slot, and the equal-snapshot schema-binding gap. Synchronous planning can fall back where streaming cannot; no additional condition or propagation defect survived review.
  • Configuration and compatibility: single-version connector, shade, and DLF construction are aligned, and the null KMS argument preserves the prior unencrypted path. The FE-to-BE Java-serialized system-table task is not compatible across a rolling 1.10.1/1.11.0 deployment.
  • Concurrency and lifecycle: no new shared-state, locking, resource-lifetime, or concurrency defect was found.
  • Transactions, persistence, and writes: this PR introduces no transaction or data-write protocol change. Persisted metadata reload is material to the equality-delete finding; the other reload fixture is non-vacuous.
  • FE/BE, memory, and null handling: the mixed-version FE/BE wire boundary is the outstanding cross-component issue. No separate BE native-memory, ownership, or null-handling issue was introduced.
  • Tests and results: the new unit tests skip the schema-only failure and check only partition-row count, while the branch regression removes valid predicate coverage. The remaining expected-output changes are consistent with name-projected metadata conversion. Tests were not run because the review runner explicitly forbids builds and tests.
  • Observability and performance: no separate logging, metrics, or material performance issue was found; the cache path distinction is already captured by the correctness finding.
  • Focus and completeness: there was no additional user-provided focus. The entire authoritative diff and all changed files were reviewed. Two bounded review rounds, including a separate edge-risk pass, converged with no new findings after these five were accepted and duplicate-fenced.

Comment thread fe/pom.xml
@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage `` 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 16858 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 5f69c83019b843b2e4f0649ae40cb674bbcefb8d, data reload: false

------ Round 1 ----------------------------------
============================================
q1	17600	3025	2998	2998
q2	2114	262	230	230
q3	10217	938	526	526
q4	4682	255	207	207
q5	7665	565	384	384
q6	138	121	95	95
q7	526	493	377	377
q8	9236	869	913	869
q9	3474	2436	2395	2395
q10	6509	854	729	729
q11	391	200	179	179
q12	614	264	205	205
q13	18133	1553	1166	1166
q14	157	151	145	145
q15	q16	428	401	374	374
q17	1344	860	812	812
q18	3384	2301	2314	2301
q19	1248	902	765	765
q20	382	306	195	195
q21	5640	1672	1829	1672
q22	323	260	234	234
Total cold run time: 94205 ms
Total hot run time: 16858 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3409	3337	3332	3332
q2	518	384	366	366
q3	2217	2376	2257	2257
q4	1228	1190	911	911
q5	2223	2169	2165	2165
q6	174	117	88	88
q7	1026	924	866	866
q8	1571	1387	1388	1387
q9	3228	3225	3200	3200
q10	1928	1818	1669	1669
q11	356	274	251	251
q12	455	433	348	348
q13	1506	1546	1165	1165
q14	169	169	167	167
q15	q16	391	396	360	360
q17	3701	3405	3274	3274
q18	4917	4575	5078	4575
q19	965	834	852	834
q20	1022	993	837	837
q21	3847	3160	3216	3160
q22	398	357	322	322
Total cold run time: 35249 ms
Total hot run time: 31534 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 83082 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit 5f69c83019b843b2e4f0649ae40cb674bbcefb8d, data reload: false

query5	4256	408	331	331
query6	376	136	129	129
query7	4974	422	228	228
query8	295	127	117	117
query9	8707	2896	2885	2885
query10	388	215	175	175
query11	5414	1042	933	933
query12	114	70	71	70
query13	1197	461	309	309
query14	6036	2258	2148	2148
query14_1	2086	2024	2023	2023
query15	178	122	110	110
query16	928	385	337	337
query17	796	438	363	363
query18	2337	326	246	246
query19	167	137	112	112
query20	81	72	73	72
query21	200	102	88	88
query22	5507	5531	5376	5376
query23	6869	6332	6156	6156
query23_1	6328	6064	6345	6064
query24	7268	1104	783	783
query24_1	785	768	795	768
query25	436	316	260	260
query26	1228	229	132	132
query27	2789	433	248	248
query28	4672	1487	1515	1487
query29	927	470	355	355
query30	251	155	132	132
query31	824	410	344	344
query32	135	75	79	75
query33	464	229	185	185
query34	993	854	497	497
query35	418	415	352	352
query36	591	535	541	535
query37	120	82	71	71
query38	1031	870	823	823
query39	495	484	493	484
query39_1	468	489	476	476
query40	212	93	81	81
query41	63	56	56	56
query42	79	74	73	73
query43	243	243	218	218
query44	1013	543	548	543
query45	112	108	101	101
query46	799	855	516	516
query47	783	802	736	736
query48	318	301	231	231
query49	538	245	224	224
query50	730	264	195	195
query51	8099	8010	7980	7980
query52	65	65	68	65
query53	187	211	177	177
query54	203	152	157	152
query55	73	58	56	56
query56	184	181	173	173
query57	727	689	635	635
query58	192	169	174	169
query59	1247	1270	1142	1142
query60	229	197	185	185
query61	127	129	128	128
query62	355	209	180	180
query63	171	141	140	140
query64	2687	715	577	577
query65	1670	1732	1619	1619
query66	1808	254	203	203
query67	10145	9913	9942	9913
query68	2903	1213	687	687
query69	345	227	198	198
query70	678	605	622	605
query71	253	166	164	164
query72	2225	1692	1477	1477
query73	642	596	335	335
query74	1953	1241	1217	1217
query75	1183	1129	1002	1002
query76	2307	727	520	520
query77	243	244	209	209
query78	3980	3844	3448	3448
query79	2051	838	590	590
query80	1530	314	269	269
query81	497	159	133	133
query82	637	128	95	95
query83	274	216	196	196
query84	290	104	90	90
query85	785	341	275	275
query86	391	177	176	176
query87	1054	982	916	916
query88	2796	2111	2102	2102
query89	301	196	175	175
query90	2006	136	132	132
query91	139	119	101	101
query92	81	74	71	71
query93	1462	1016	746	746
query94	632	253	213	213
query95	524	336	226	226
query96	761	556	277	277
query97	1084	1071	1034	1034
query98	147	136	143	136
query99	420	356	311	311
Total cold run time: 178181 ms
Total hot run time: 83082 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 14.73 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 5f69c83019b843b2e4f0649ae40cb674bbcefb8d, data reload: false

query1	0.00	0.01	0.01
query2	0.08	0.04	0.03
query3	0.26	0.11	0.10
query4	1.61	0.11	0.10
query5	0.17	0.16	0.16
query6	1.24	0.71	0.66
query7	0.03	0.00	0.01
query8	0.04	0.03	0.03
query9	0.30	0.22	0.22
query10	0.35	0.34	0.34
query11	0.16	0.12	0.12
query12	0.16	0.12	0.13
query13	0.30	0.31	0.31
query14	0.47	0.46	0.46
query15	0.36	0.36	0.35
query16	0.22	0.23	0.20
query17	0.69	0.69	0.66
query18	0.18	0.16	0.14
query19	1.20	1.16	1.15
query20	0.02	0.01	0.01
query21	15.43	0.16	0.12
query22	5.08	0.04	0.05
query23	16.18	0.25	0.11
query24	2.99	0.31	0.24
query25	0.13	0.04	0.03
query26	0.77	0.16	0.12
query27	0.04	0.04	0.03
query28	3.65	0.53	0.28
query29	12.47	3.14	2.57
query30	0.26	0.10	0.10
query31	2.75	0.36	0.18
query32	3.53	0.33	0.24
query33	1.53	1.48	1.43
query34	15.33	2.22	1.81
query35	1.80	1.80	1.74
query36	0.46	0.30	0.28
query37	0.06	0.04	0.04
query38	0.05	0.03	0.03
query39	0.03	0.03	0.02
query40	0.12	0.08	0.08
query41	0.07	0.02	0.02
query42	0.03	0.02	0.02
query43	0.03	0.03	0.03
Total cold run time: 90.63 s
Total hot run time: 14.73 s

### What problem does this PR solve?

The Iceberg 1.11 upgrade exposed additional historical-scan issues in the connector path: metadata-only schema commits could leave scans bound to current partition specs, the manifest-cache path omitted historical equality-delete schemas, evolved partition values were read by spec-local position, and Java-serialized system-table tasks were incompatible across 1.10.1/1.11 rolling upgrades.

### How does this PR solve the problem?

- Bind historical data scans and manifest-cache evaluators to the selected schema.
- Preserve all table schemas when indexing equality deletes.
- Read unified partition structs by partition field ID.
- Add a narrowly scoped Schema serialization compatibility bridge for mixed Iceberg 1.10.1/1.11 FE and BE pairs.
- Restore branch predicate coverage and add focused unit coverage for each compatibility case.

### Test

- IcebergScanPlanProviderTest and IcebergPartitionUtilsTest: 228 passed.
- IcebergSerializationCompatTest: 2 passed.
- FE Checkstyle: 0 violations.
- git diff --check: passed.
@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.

Requesting changes: two P1 correctness failures and one P2 partition-metadata defect remain on the current head.

Critical checkpoint conclusions:

  • Goal and tests: the Iceberg 1.11 upgrade and historical-schema repair are clear, and the new direct tests cover several original failures, but they miss the production batch estimator, the latest-pin manifest-cache state, and multiple historical buckets after a dropped source.
  • Scope: the dependency bump, upstream delete-index sync, serialization bridge, scan/schema changes, partition logic, and regression outputs are related to the stated upgrade. No unrelated source change was found.
  • Concurrency and lifecycle: the lazy cache iterator, close paths, per-scan state, and scanner stream lifecycle add no distinct race or resource leak.
  • Configuration: version properties, shade ownership, Java 17 baseline, Avro/Caffeine/AWS closure, and DLF nullable-KMS behavior are internally consistent; no distinct configuration defect survived.
  • Compatibility and rolling upgrade: the Schema-only bridge still cannot cover other changed task-graph descriptors, but that is already fully raised by existing thread 3964216048 and is not duplicated here.
  • Parallel paths and conditions: synchronous cache planning and streaming batch estimation each bypass the intended schema generation in a different way; those are the two P1 comments. Branch/tag, system-table, COUNT, empty-table, and delete-index paths were separately traced with no additional distinct issue.
  • Test coverage/results: the accepted issues identify missing regression oracles. No local build or test was run because this review runner explicitly prohibits builds; current CheckStyle and dependency-review checks are successful, but no broader test result is claimed.
  • Observability: failures are either wrapped as query errors or silently over-pruned as described; no separate logging/profile regression was found.
  • Transaction, persistence, and writes: schema-only commits, snapshot/schema pin persistence, cached manifests, equality-delete history, and DLF write construction were reviewed; no additional write/transaction defect survived.
  • FE-BE contract: initial-default transport and system-table task serialization were traced. The new comments are distinct from the existing wire-format thread.
  • Performance: no new hot-path regression was substantiated beyond the correctness-affecting batch/cache paths already commented.

Existing inline threads were treated as hard duplicate fences. The user supplied no additional focus beyond the full PR review. Round 2 full-coverage and risk-focused reviewers all returned NO_NEW_VALUABLE_FINDINGS after these three accepted points were recorded.

### What problem does this PR solve?

Three schema-evolution paths still bypassed the selected metadata generation: batch estimation used current partition specs, manifest-cache pruning could use a snapshot schema instead of the latest MVCC schema, and partition metadata cached by snapshot alone could survive schema-only evolution and fabricate collapsed null partitions.

### How does this PR solve the problem?

- Rebind partition specs for streaming batch estimation.
- Preserve the handle-selected logical schema after snapshot selection.
- Treat missing unified partition fields as unrepresentable and return the existing safe empty display.
- Include schema and spec IDs in the raw partition cache key.

### Test

- Added red/green coverage for all three review findings.
- IcebergScanPlanProviderTest, IcebergPartitionUtilsTest, IcebergPartitionCacheTest, and IcebergConnectorCacheTest: 266 passed.
- FE Checkstyle: 0 violations.
- git diff --check: passed.
@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.

Request changes: five distinct new issues are annotated on 3f775f5c7668834424cbcbece96b7af570d23f9d. The prior rolling-wire blocker also remains unresolved.

New findings:

  • [P1] Derived partition-view caches omit the partition-spec generation and can remain stale across a spec-only commit.
  • [P2] The representability guard examines retained specs with no live entries and can hide valid current partitions.
  • [P1] Historical-schema handling replaces the catalog-native scan and bypasses REST server planning.
  • [P1] Scan-scoped credentials returned by a REST plan are never propagated to BE.
  • [P1] Batch estimation and manifest-cache/count paths locally open manifests before or instead of REST server planning.

Existing hard duplicate fence: the rolling system-table wire thread is not resolved by the Schema-only bridge. Real manifest-read task graphs retain S3FileIO, whose generated UID differs across Iceberg 1.10.1/1.11.0 and fails cross-version deserialization in both directions. AllManifestsTable.ManifestListReadTask also changed its retained field layout and generated UID. I did not post a duplicate inline comment, but this remains release-blocking.

Review checkpoints:

  • Goal and tests: the historical-schema goal is valid, but the added in-memory/raw-cache/StaticDataTask coverage misses warm derived caches, a retained old spec with no live files, native REST server planning, plan-response-only credentials, and real mixed-version manifest tasks.
  • Scope and integration: the Iceberg upgrade, cache changes, system-task wire, Hive shade, DLF constructor, and vendored delete index were reviewed together. The shade/DLF changes and vendored DeleteFileIndex matched the expected 1.11 integration; no separate defect survived there.
  • Concurrency and lifecycle: no new lock-order or shutdown issue was found. The cache defect is a generation-key problem, while the FileIO defect is a scan lifecycle/credential handoff problem.
  • Configuration and persistence: independently configured partition-view TTLs expose the stale key; metadata-only updateSpec preserves snapshot/schema IDs. REST server-planning mode is incompatible with the local estimator/cache/count shortcuts.
  • Compatibility and FE/BE passing: Java-serialized task graphs remain rolling-incompatible beyond Schema, and scan-scoped FileIO properties are not carried to BE.
  • Parallel paths and performance: synchronous, streaming, batch-estimation, manifest-cache, and count paths were all traced. Optimizations must preserve the native server-plan contract rather than substitute local enumeration.
  • Conditions and observability: the retained-spec guard reasons about all table metadata rather than the selected snapshot's live entries; its safe fallback can silently erase the partition display. Cache staleness is likewise silent, while REST/rolling-wire failures surface as access or deserialization errors.
  • Writes and atomicity: no changed write/atomicity path produced a separate issue.

This was a review-only pass; I did not run Doris builds or project tests.

Comment thread fe/pom.xml
### What problem does this PR solve?

Issue Number: None

Related PR: apache#67687

Problem Summary: Iceberg partition-spec-only commits could leave derived partition caches stale because their keys covered only snapshot and schema generations. Historical specs with no live files could also hide valid current partitions. In addition, Iceberg REST server-side planning was silently routed through local manifest and table FileIO paths that cannot preserve the native scan or consume scan-scoped credentials. Include the live spec generation in derived cache keys, validate representability only for specs present in live partition rows, and reject unsupported server-side planning before local metadata access.

### Release note

Iceberg REST catalogs must use client-side scan planning until Doris supports server-planned scan credentials.

### Check List (For Author)

- Test: Unit Test
    - ConnectorMetadataCacheTest, IcebergConnectorMetadataPartitionViewCacheTest, IcebergPartitionUtilsTest, and IcebergScanPlanProviderTest
- Behavior changed: Yes. Partition metadata follows spec-only evolution, and unsupported REST server-side scan planning now fails explicitly.
- Does this need documentation: No
@Gabriel39

Copy link
Copy Markdown
Contributor Author

run buildall

@Gabriel39

Copy link
Copy Markdown
Contributor Author

/review

@github-actions

Copy link
Copy Markdown
Contributor

Codex automated review failed and did not complete.

Error: Review step was failure (possibly timeout or cancelled)
Workflow run: https://github.com/apache/doris/actions/runs/34488778375

Please inspect the workflow logs and rerun the review after the underlying issue is resolved.

@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 on exact head dab9c2ef7ad0aa720f9a52b1fa1d6451b6545232 against base b3766d781b529f89ec2dadcf53ecf712aec0ae7b.

Overall opinion: I found no new diff-caused issue that is distinct from the existing review threads, so this is a comment-only review with no new inline comments. This does not clear the existing blockers: the Schema-only rolling bridge still fails for concrete non-Schema task graphs such as $all_manifests and DLF S3FileIO, but that is exactly the full-FileScanTask/both-directions obligation already raised in the compatibility thread. The remaining spec/projection-generation and unified-row variants are likewise covered by the derived-cache thread and the raw-projection thread.

Checkpoint conclusions:

  • Goal, scope, and clarity: all 24 changed files and the full authoritative diff were reviewed. The historical/current schema, delete-history, partition projection, spec-generation cache, REST rejection, dependency-upgrade, and same-version metadata-table changes are coherent on their changed paths. No extra user focus was supplied.
  • Correctness and parallel paths: native, manifest-cache, streaming estimator/enumerator, synchronous, COUNT, snapshot/tag/branch, system-table, and delete-file paths were traced. No distinct schema-binding, pruning, delete-association, or REST-planning defect survived beyond the existing threads.
  • Compatibility, configuration, and FE/BE values: no runtime setting or Thrift field is added. serialized_split remains the material FE/BE contract; its proven non-Schema mixed-version failures remain unresolved on the existing compatibility thread. The Iceberg/Hive/AWS/RoaringBitmap ABI and shade closures were checked without finding another linkage defect.
  • Concurrency, lifecycle, errors, and observability: cache values and compatibility constants are immutable, loaders are single-flight, scanner/manifest resources retain their ownership and close paths, and unsupported REST planning fails before local scan or credential access. No new lock-order, publication, resource-release, swallowed-error, or diagnostic issue was found.
  • Persistence, writes, memory, and performance: this diff adds no Doris persistence format, transaction protocol, or data-write atomicity change. No material new hot-loop, retention, or allocation problem was substantiated.
  • Tests and validation: the new tests cover the intended same-version schema/spec/delete/partition/REST paths, but the static serialization fixture does not prove real mixed-version task graphs; that gap is the existing compatibility blocker. Per the review instructions, no product build or product test was run. Review-only static and isolated serialization checks were used, and git diff --check is clean. At submission time the lightweight GitHub checks pass; COMPILE, FE UT, performance, and automated review checks remain pending.
  • Completion: three bounded review rounds completed. All final normal and risk reviewers returned NO_NEW_VALUABLE_FINDINGS; every candidate was independently verified, dismissed on exact diff-left provenance, or duplicate-fenced. Review status: complete for this exact head.

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-H: Total hot run time: 17047 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit dab9c2ef7ad0aa720f9a52b1fa1d6451b6545232, data reload: false

------ Round 1 ----------------------------------
============================================
q1	17636	3070	3091	3070
q2	2088	261	240	240
q3	10224	932	524	524
q4	4667	256	213	213
q5	7667	599	393	393
q6	140	119	95	95
q7	527	506	383	383
q8	9236	918	885	885
q9	3474	2429	2407	2407
q10	6525	861	715	715
q11	393	196	187	187
q12	613	259	197	197
q13	18136	1536	1197	1197
q14	162	144	142	142
q15	q16	442	397	372	372
q17	1331	873	802	802
q18	3144	2301	2320	2301
q19	1271	889	790	790
q20	363	292	204	204
q21	5635	1699	1869	1699
q22	322	275	231	231
Total cold run time: 93996 ms
Total hot run time: 17047 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	3443	3387	3380	3380
q2	509	447	377	377
q3	2281	2283	2295	2283
q4	1205	1186	909	909
q5	2207	2154	2136	2136
q6	171	119	89	89
q7	1031	937	894	894
q8	1599	1407	1435	1407
q9	3173	3141	3138	3138
q10	1931	1848	1651	1651
q11	363	268	251	251
q12	455	439	347	347
q13	1472	1531	1173	1173
q14	173	164	156	156
q15	q16	408	396	363	363
q17	3731	3433	3318	3318
q18	4921	4511	5051	4511
q19	946	864	861	861
q20	1017	974	845	845
q21	3916	3229	3306	3229
q22	412	346	324	324
Total cold run time: 35364 ms
Total hot run time: 31642 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 82982 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpcds-tools
TPC-DS sf100 test result on commit dab9c2ef7ad0aa720f9a52b1fa1d6451b6545232, data reload: false

query5	4278	429	334	334
query6	388	145	123	123
query7	4927	436	237	237
query8	294	133	117	117
query9	8675	2922	2864	2864
query10	408	222	179	179
query11	5391	1056	917	917
query12	120	73	71	71
query13	1194	445	324	324
query14	6152	2223	2106	2106
query14_1	2008	1996	1979	1979
query15	178	123	115	115
query16	920	405	381	381
query17	785	472	362	362
query18	2338	447	241	241
query19	167	139	112	112
query20	73	73	74	73
query21	211	103	86	86
query22	5441	5462	5425	5425
query23	7018	6214	6171	6171
query23_1	6219	6229	6270	6229
query24	7269	1092	786	786
query24_1	827	796	787	787
query25	434	315	258	258
query26	1227	245	134	134
query27	2774	409	261	261
query28	4674	1494	1498	1494
query29	934	440	351	351
query30	258	159	135	135
query31	820	413	347	347
query32	138	81	79	79
query33	463	224	176	176
query34	991	828	490	490
query35	422	414	351	351
query36	557	584	543	543
query37	127	81	77	77
query38	1016	867	827	827
query39	494	516	472	472
query39_1	478	481	480	480
query40	208	98	84	84
query41	60	66	57	57
query42	78	76	72	72
query43	242	245	219	219
query44	1002	542	539	539
query45	111	107	104	104
query46	765	832	518	518
query47	781	788	688	688
query48	310	312	209	209
query49	541	245	183	183
query50	791	263	196	196
query51	8229	8245	8301	8245
query52	75	66	65	65
query53	185	196	155	155
query54	209	162	143	143
query55	76	56	54	54
query56	204	166	154	154
query57	707	691	647	647
query58	188	181	165	165
query59	1235	1249	1088	1088
query60	233	176	177	176
query61	116	109	137	109
query62	350	212	174	174
query63	169	154	140	140
query64	2799	705	612	612
query65	1623	1703	1554	1554
query66	1782	266	198	198
query67	9866	9840	9660	9660
query68	3005	1139	759	759
query69	344	218	214	214
query70	685	637	615	615
query71	257	178	160	160
query72	2251	1680	1514	1514
query73	653	569	343	343
query74	2001	1234	1156	1156
query75	1187	1104	983	983
query76	2341	714	502	502
query77	252	256	206	206
query78	4199	3823	3343	3343
query79	2333	824	607	607
query80	1582	320	268	268
query81	485	162	138	138
query82	620	135	95	95
query83	297	207	191	191
query84	297	110	90	90
query85	755	322	297	297
query86	377	180	169	169
query87	1032	993	910	910
query88	2816	2117	2114	2114
query89	285	194	177	177
query90	1997	127	129	127
query91	132	115	96	96
query92	80	73	68	68
query93	1527	1062	690	690
query94	647	262	216	216
query95	529	257	225	225
query96	767	576	288	288
query97	1127	1106	1054	1054
query98	144	132	138	132
query99	418	340	317	317
Total cold run time: 178877 ms
Total hot run time: 82982 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
ClickBench: Total hot run time: 14.94 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit dab9c2ef7ad0aa720f9a52b1fa1d6451b6545232, data reload: false

query1	0.00	0.00	0.01
query2	0.07	0.04	0.03
query3	0.25	0.11	0.10
query4	1.60	0.10	0.10
query5	0.19	0.16	0.16
query6	1.22	0.71	0.68
query7	0.02	0.01	0.00
query8	0.04	0.03	0.03
query9	0.29	0.21	0.21
query10	0.35	0.35	0.36
query11	0.16	0.12	0.11
query12	0.15	0.12	0.12
query13	0.33	0.32	0.30
query14	0.45	0.46	0.46
query15	0.37	0.35	0.36
query16	0.21	0.22	0.25
query17	0.71	0.72	0.73
query18	0.17	0.17	0.17
query19	1.22	1.20	1.20
query20	0.01	0.01	0.01
query21	15.45	0.15	0.12
query22	5.11	0.04	0.04
query23	16.20	0.25	0.10
query24	3.01	0.34	0.26
query25	0.11	0.05	0.04
query26	0.73	0.16	0.13
query27	0.03	0.03	0.03
query28	3.63	0.60	0.29
query29	12.41	3.22	2.58
query30	0.25	0.12	0.12
query31	2.75	0.39	0.17
query32	3.50	0.32	0.24
query33	1.47	1.53	1.43
query34	15.35	2.19	1.79
query35	1.77	1.78	1.77
query36	0.46	0.30	0.28
query37	0.07	0.03	0.04
query38	0.04	0.03	0.03
query39	0.04	0.02	0.03
query40	0.12	0.09	0.08
query41	0.07	0.02	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 90.45 s
Total hot run time: 14.94 s

shuke987 added a commit to shuke987/doris that referenced this pull request Sep 11, 2026
### What problem does this PR solve?

Problem Summary:

The automated review of apache#67687 hit the 90-minute step timeout while finishing its report ([failed run](https://github.com/apache/doris/actions/runs/34488778375/job/102909763020)); its [formal review](apache#67687 (review)) was submitted about 23 seconds later.

Increase the review step timeout from 90 to 120 minutes. Raise the job timeout from 208 to 238 minutes and update the budget comment, preserving 8 minutes for auth synchronization and 12 minutes for runner setup and post-job cleanup.

### Release note

None

### Check List (For Author)

- Test:
  - [x] Unit Test: all 18 existing `test_review_auth_quarantine.py` tests passed against the modified workflow using fake OSS, Codex, and GitHub services.
  - [x] Manual test: parsed the YAML and verified the 120-minute review limit, 218-minute pre-finalization budget, 8-minute auth sync, and 12-minute reserve within the 238-minute job limit. Confirmed no other parsed workflow changes; patch whitespace check passed.
- Behavior changed:
  - [x] Yes. Automated reviews may run for up to 120 minutes.
- Does this need documentation?
  - [x] No. The workflow budget comment is updated.
hello-stephen pushed a commit that referenced this pull request Sep 11, 2026
The automated review of #67687 hit the 90-minute step timeout while
finishing its report ([failed
run](https://github.com/apache/doris/actions/runs/34488778375/job/102909763020));
its [formal
review](#67687 (review))
was submitted about 23 seconds later.

Increase the review step timeout from 90 to 120 minutes. Raise the job
timeout from 208 to 238 minutes and update the budget comment,
preserving 8 minutes for auth synchronization and 12 minutes for runner
setup and post-job cleanup.
@Gabriel39
Gabriel39 merged commit cb9bbe9 into apache:master Sep 14, 2026
43 of 46 checks passed
morningman added a commit to morningman/doris that referenced this pull request Sep 14, 2026
…JUnit 5

master merged apache#67687 (2026-09-14) after 630243e retired JUnit 4 from
be-java-extensions on this branch, and it added one new JUnit 4 test in
iceberg-metadata-scanner. On master that is fine: suppressions.xml still
carries the temporary banJUnit4 exemption for be-java-extensions, parked
there precisely so this PR could do the migration. This branch removed the
exemption together with junit-vintage-engine, so after the merge the new
test is the one JUnit 4 class left in the reactor and checkstyle stops the
FE build at that module (TeamCity Compile #121562).

Same mechanical conversion as 630243e: Assert -> Assertions, org.junit.Test
-> org.junit.jupiter.api.Test. Both assertions are the two-argument forms, so
no message argument moves. The class runs under the jupiter engine (2 tests,
not silently ignored) and the banJUnit4 regex finds nothing else under fe/.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01222rs932qTF8BjpDrYjUEj
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.

4 participants