Skip to content

[feature](load) Track Kinesis shard lifecycle and durable starting positions - #68357

Closed
0AyanamiRei wants to merge 9 commits into
apache:masterfrom
0AyanamiRei:wip/kinesis-shard-topology-20260916
Closed

0AyanamiRei wants to merge 9 commits into
apache:masterfrom
0AyanamiRei:wip/kinesis-shard-topology-20260916

Conversation

@0AyanamiRei

@0AyanamiRei 0AyanamiRei commented Sep 22, 2026 •

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: None

Related PR: #67678, #67696, #67869, #67874, #67879

Kinesis shards can split and merge while Routine Load is running. Open/closed shard lists and sequence progress alone do not durably identify the initial shard snapshot or represent parent completion dependencies. This can skip new-shard backlog, reconsume completed parents, move LATEST positions when tasks are recreated, or process child data before the parent becomes visible.

This PR introduces a persisted shard topology and lifecycle:

  • Shards with confirmed metadata and resolved starting positions become ACTIVE or DRAINING only when all required parents are COMPLETED; otherwise they remain PENDING_PARENT. Ancestors outside the initial snapshot do not block consumption.
  • Initial snapshot shards use configured starting positions. Shards discovered afterward use TRIM_HORIZON. LATEST positions are resolved and journaled before task creation.
  • EOF is persisted at COMMITTED and stops scheduling the parent. VISIBLE marks it COMPLETED and releases eligible children. Merge children wait for both parents.
  • A confirmed unfinished shard missing from a complete ListShards refresh pauses the job and disables automatic resume. Unconfirmed ChildShards hints do not cause a false missing-shard error when an older scan arrives.
  • BE progress advances only after successful append, and EOF/ChildShards markers follow their shard's records. Empty pages with backlog continue polling; empty pages with zero lag end that shard's current batch without reporting EOF. Queue shutdown stops the producer before another shard request.
  • Expired COMPLETED nodes are collected when no retained shard or unfinished node references them. Structural copy/equality replaces JSON-based change detection, and production-only topology paths replace legacy test fixtures. Missing jobs during Kinesis metadata journal replay are warned and skipped.
  • Each latest-position scan RPC uses at most one scan slot and requeues between shards. Complete results survive delayed final callbacks and FE polling; cancellation, timeout during scanning, and failures do not publish partial positions.

The change also incorporates ALTER validation atomicity, FE/BE tests, an in-process AWS client fixture, and a LATEST restart regression suite.

Release note

Improve Kinesis Routine Load shard discovery, durable starting positions and progress across split/merge. Child scheduling waits for required parents to become visible. Idle polling is reduced, and latest-position initialization shares BE scan capacity across jobs.

Check List (For Author)

  • Test: Unit Test
    • FE: ./run-fe-ut.sh --run 'org.apache.doris.load.routineload.KinesisRoutineLoadJobTest,org.apache.doris.load.routineload.kinesis.*Test' — 68 passed, no failures/errors/skips.
    • BE: ./run-be-ut.sh --run --filter='*Kinesis*' -j48 — 30 passed, no failures/errors/skips.
    • FE Checkstyle: mvn checkstyle:check -pl fe-core — 0 violations.
    • BE clang-format 16 and build hygiene checks passed. New scheduling and empty-page test clang-tidy checks passed; broader analysis still reports pre-existing diagnostics in unchanged code.
    • Tests cover split/merge visibility barriers, task assignment, journal/image restoration, missing-job replay, topology pruning, unchanged metadata refresh, caught-up batch completion, scan fairness, rejected continuations, cancellation and deadline boundaries.
    • Real AWS and FE/BE end-to-end regression were not run. The upstream fixture exercises in-process SDK calls, not an HTTP mock service.
  • Behavior changed: Yes.
  • Does this need documentation: Yes (shard lifecycle and initialization semantics).

Implementation limits: topology journals still contain complete retained ListShards snapshots when changes occur. Scan fairness is at shard boundaries, with one shard scanned at a time per job; page-level preemption and load-aware BE selection are not implemented.

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

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

Issue Number: None

Related PR: apache#68357

Problem Summary: A confirmed child shard currently waits for all parents to finish and become visible, although this Kinesis ingestion design does not require ordering across parent and child shards. Remove PENDING_PARENT and the parent completion check so shards with confirmed metadata and resolved positions can consume independently. Preserve lineage, initial-snapshot position selection, per-shard EOF persistence at COMMITTED and completion at VISIBLE, and whole-job pause when a confirmed unfinished shard disappears.

Update topology and job-level tests for independent split/merge scheduling, task ownership, transaction callbacks, replay, and missing-shard pause behavior. Repair existing Kinesis test fixtures so the complete FE Kinesis suite exercises the topology path and valid restoration dependencies.

### Release note

Allow Kinesis child shards to consume while parent shards drain, without waiting for parent transaction visibility.

### Check List (For Author)

- Test: Unit Test
    - FE: MAVEN_ARGS='-Dmaven.compiler.useIncrementalCompilation=false' ./run-fe-ut.sh --run 'Kinesis*Test' (58 passed)
    - BE: ./run-be-ut.sh --run --filter='*Kinesis*' -j48 (18 passed)
    - Checkstyle 9.3 with repository rules passed for all modified Java files.
    - Real AWS and FE/BE end-to-end regression were not run.
- Behavior changed: Yes (remove cross-shard parent completion barriers; preserve per-shard transaction lifecycle)
- Does this need documentation: Yes (update shard state-machine design to remove PENDING_PARENT)
@0AyanamiRei 0AyanamiRei changed the title [feature](load) Add Kinesis shard topology scheduling [feature](load) Track Kinesis shard lifecycle and durable starting positions Sep 22, 2026
0AyanamiRei added a commit to 0AyanamiRei/doris that referenced this pull request Sep 22, 2026
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357

Problem Summary: Both nonterminal GetRecords response branches advance the same shard iterator. Move the shared increment after the optional empty-page log. Remove the unused KinesisDataConsumer child-parent map, accessor, and reset cleanup. Retain the EOF marker and consumer-group lineage aggregation used by transaction attachments.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - ./run-be-ut.sh --run --filter='*Kinesis*' -j48: 18 passed.
    - Header hygiene and clang-format 16 checks on changed lines passed.
    - clang-tidy reports existing diagnostics outside this patch, including an unmatched NOLINTEND in core/types.h.
- Behavior changed: No
- Does this need documentation: No
0AyanamiRei added a commit to 0AyanamiRei/doris that referenced this pull request Sep 22, 2026
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357, apache#67869

Problem Summary: When the consumer group reaches a batch limit during enqueueing, the helper previously returned OK without telling group_consume to stop. A multi-shard consumer could issue further AWS requests while the group waited for it to exit; an unnecessary source error could fail an otherwise valid appended prefix. Return an explicit COMPLETE or QUEUE_SHUTDOWN enqueue result and exit the whole consumer successfully on shutdown. Check cancellation and the time budget between shard requests as well as between polling rounds.

Add deterministic multi-shard tests through the real consumer/group methods, covering graceful batch completion, prevention of subsequent source failures, queue shutdown before cancellation, and cancellation after an empty page.

### Release note

Avoid unnecessary Kinesis requests and batch failures after Routine Load reaches its batch limit.

### Check List (For Author)

- Test: Unit Test
    - Before: ./run-be-ut.sh --run --filter='KinesisConsumerShutdownTest.*' -j48 (all 4 new cases reproduced the bug)
    - After: ./run-be-ut.sh --run --filter='*Kinesis*' -j48 (22 passed)
    - Header hygiene and changed-line clang-format 16 checks passed.
    - New shutdown test file passed clang-tidy; existing diagnostics in unchanged source/header code still prevent a clean whole-file result for data_consumer.cpp.
    - No live AWS or FE/BE end-to-end regression was run.
- Behavior changed: Yes (a stopped enqueue ends the consumer successfully before subsequent shard requests)
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#67678, apache#67696, apache#67869, apache#67874, apache#67879

Problem Summary: Kinesis shards can split and merge while a routine load job is running. Maintaining only open/closed shard lists and progress cannot express parent-child lineage or the COMMITTED-to-VISIBLE completion barrier, which can schedule children too early, lose lineage, or recreate completed parents. This change adds a durable shard topology state machine, concrete initial-position persistence, idempotent journal/image replay, and Kinesis BE progress handling for EOF and ChildShards metadata. New FE, BE, and regression coverage verifies shard transitions, transaction visibility, latest-position resolution, reshard boundaries, and deterministic Kinesis upstream behavior.

### Release note

Add parent-child shard topology tracking and visibility-gated scheduling for Kinesis Routine Load.

### Check List (For Author)

- Test: Unit Test
    - `./run-be-ut.sh --run --filter='*Kinesis*' -j48`
    - Result: 18 Kinesis tests passed
    - No FE unit test or AWS regression test was run in this environment.
- Behavior changed: Yes (Kinesis Routine Load now schedules shards through the topology state machine.)
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357

Problem Summary: A confirmed child shard currently waits for all parents to finish and become visible, although this Kinesis ingestion design does not require ordering across parent and child shards. Remove PENDING_PARENT and the parent completion check so shards with confirmed metadata and resolved positions can consume independently. Preserve lineage, initial-snapshot position selection, per-shard EOF persistence at COMMITTED and completion at VISIBLE, and whole-job pause when a confirmed unfinished shard disappears.

Update topology and job-level tests for independent split/merge scheduling, task ownership, transaction callbacks, replay, and missing-shard pause behavior. Repair existing Kinesis test fixtures so the complete FE Kinesis suite exercises the topology path and valid restoration dependencies.

### Release note

Allow Kinesis child shards to consume while parent shards drain, without waiting for parent transaction visibility.

### Check List (For Author)

- Test: Unit Test
    - FE: MAVEN_ARGS='-Dmaven.compiler.useIncrementalCompilation=false' ./run-fe-ut.sh --run 'Kinesis*Test' (58 passed)
    - BE: ./run-be-ut.sh --run --filter='*Kinesis*' -j48 (18 passed)
    - Checkstyle 9.3 with repository rules passed for all modified Java files.
    - Real AWS and FE/BE end-to-end regression were not run.
- Behavior changed: Yes (remove cross-shard parent completion barriers; preserve per-shard transaction lifecycle)
- Does this need documentation: Yes (update shard state-machine design to remove PENDING_PARENT)
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357

Problem Summary: Both nonterminal GetRecords response branches advance the same shard iterator. Move the shared increment after the optional empty-page log. Remove the unused KinesisDataConsumer child-parent map, accessor, and reset cleanup. Retain the EOF marker and consumer-group lineage aggregation used by transaction attachments.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - ./run-be-ut.sh --run --filter='*Kinesis*' -j48: 18 passed.
    - Header hygiene and clang-format 16 checks on changed lines passed.
    - clang-tidy reports existing diagnostics outside this patch, including an unmatched NOLINTEND in core/types.h.
- Behavior changed: No
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357, apache#67869

Problem Summary: When the consumer group reaches a batch limit during enqueueing, the helper previously returned OK without telling group_consume to stop. A multi-shard consumer could issue further AWS requests while the group waited for it to exit; an unnecessary source error could fail an otherwise valid appended prefix. Return an explicit COMPLETE or QUEUE_SHUTDOWN enqueue result and exit the whole consumer successfully on shutdown. Check cancellation and the time budget between shard requests as well as between polling rounds.

Add deterministic multi-shard tests through the real consumer/group methods, covering graceful batch completion, prevention of subsequent source failures, queue shutdown before cancellation, and cancellation after an empty page.

### Release note

Avoid unnecessary Kinesis requests and batch failures after Routine Load reaches its batch limit.

### Check List (For Author)

- Test: Unit Test
    - Before: ./run-be-ut.sh --run --filter='KinesisConsumerShutdownTest.*' -j48 (all 4 new cases reproduced the bug)
    - After: ./run-be-ut.sh --run --filter='*Kinesis*' -j48 (22 passed)
    - Header hygiene and changed-line clang-format 16 checks passed.
    - New shutdown test file passed clang-tidy; existing diagnostics in unchanged source/header code still prevent a clean whole-file result for data_consumer.cpp.
    - No live AWS or FE/BE end-to-end regression was run.
- Behavior changed: Yes (a stopped enqueue ends the consumer successfully before subsequent shard requests)
- Does this need documentation: No
@0AyanamiRei
0AyanamiRei force-pushed the wip/kinesis-shard-topology-20260916 branch from 7a9ee1b to 7635434 Compare September 23, 2026 02:57
@sollhui

sollhui commented Sep 24, 2026

Copy link
Copy Markdown
Contributor

run buildall

@sollhui

sollhui commented Sep 24, 2026

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.

Static review of exact head 7635434adfda681c2d1d8623ee8662c3780b3931. Requesting changes for four P1 issues and one P2 issue.

Checkpoint conclusions:

  • Goal, scope, and data correctness: the topology/EOF/LATEST design is cohesive and all 39 changed paths were reviewed, but supported rolling upgrades, legacy image restoration, and source-changing ALTERs have correctness gaps called out inline.
  • Concurrency and lifecycle: normal success/error/cancellation/shutdown and COMMITTED/VISIBLE/replay paths were traced; retained-runnable submission can still complete an RPC early, while the remaining transaction/topology lifecycle is coherent.
  • Persistence, compatibility, and crash/replay behavior: new journal operations and new-format replay ordering are wired consistently, but protobuf tags are reused incompatibly and pre-topology image state is not migrated.
  • Configuration, FE/BE propagation, parallel paths, observability, and performance: new timeout/pool settings propagate to their consumers, errors are surfaced, Cloud mode is explicitly unsupported, and the shared pool is bounded; the scan callbacks nonetheless bypass non-Orphan memory accounting. No additional actionable issue was found in these checkpoints.
  • Tests and expected results: the changed tests cover the new topology, LATEST, EOF, cancellation, replay, and restart paths, but do not cover the five failing boundaries identified inline. The PR reports 58 FE and 22 BE unit tests; I did not independently run builds or tests, and the PR states that real AWS and FE/BE end-to-end regression were not run.
  • User focus: no additional focus points were supplied.

Validation was static only, as required by this review task.

Comment thread gensrc/proto/internal_service.proto Resolved
}
if (resetProgress) {
this.progress = new KinesisProgress();
this.shardTopology.reset();

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.

[P1] Use the full source-identity change here, not only resetProgress (which is true only when stream is supplied). The new code correctly treats region and endpoint changes as sourceChanged, but a region-only or endpoint-only ALTER retains the previous topology, completion states, explicit-shard filter, lag, and sequence numbers. Kinesis shard IDs are reused across sources, so the next task can send an old source's sequence as AFTER_SEQUENCE_NUMBER to the new source or leave a same-named shard permanently completed. Please reset all source-bound state for stream/region/endpoint changes and then apply any explicit new positions; cover region-only and endpoint-only ALTER plus journal replay.

@hello-stephen

Copy link
Copy Markdown
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 77.54% (2064/2662)
Line Coverage 65.79% (37954/57686)
Region Coverage 53.22% (35557/66816)
Branch Coverage 56.60% (11428/20190)

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17043	3953	3883	3883
q2	2217	378	300	300
q3	9953	1425	827	827
q4	4670	481	350	350
q5	7541	860	563	563
q6	192	178	138	138
q7	793	809	615	615
q8	9394	1623	1627	1623
q9	5570	4233	4245	4233
q10	6828	1326	1023	1023
q11	430	267	247	247
q12	629	426	303	303
q13	18100	2613	1987	1987
q14	259	259	233	233
q15	q16	734	718	660	660
q17	1792	1195	988	988
q18	6451	5604	5582	5582
q19	1200	1372	1106	1106
q20	511	400	258	258
q21	5562	3469	3138	3138
q22	468	377	327	327
Total cold run time: 100337 ms
Total hot run time: 28384 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4745	4754	4583	4583
q2	738	587	549	549
q3	5079	5245	4570	4570
q4	2310	2322	1442	1442
q5	4598	4401	4633	4401
q6	227	176	128	128
q7	1837	1703	1526	1526
q8	2511	2108	2013	2013
q9	7296	7343	7277	7277
q10	3674	3702	3099	3099
q11	507	377	336	336
q12	688	710	511	511
q13	2267	2587	1996	1996
q14	276	277	240	240
q15	q16	670	676	593	593
q17	7341	6745	6651	6651
q18	11901	11049	11699	11049
q19	1084	999	1031	999
q20	2216	2204	1904	1904
q21	5029	4087	4277	4087
q22	510	451	402	402
Total cold run time: 65504 ms
Total hot run time: 58356 ms

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	16445	3823	3836	3823
q2	2172	400	305	305
q3	9555	1380	802	802
q4	4458	481	352	352
q5	7194	840	572	572
q6	186	166	133	133
q7	729	784	598	598
q8	9259	1566	1581	1566
q9	5469	4183	4181	4181
q10	6825	1309	1039	1039
q11	422	282	248	248
q12	633	407	293	293
q13	17501	2657	1999	1999
q14	260	255	225	225
q15	q16	717	722	683	683
q17	1786	1089	1018	1018
q18	6537	5606	5534	5534
q19	1171	1214	987	987
q20	498	410	264	264
q21	5201	2887	2872	2872
q22	496	392	329	329
Total cold run time: 97514 ms
Total hot run time: 27823 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4720	4641	4826	4641
q2	732	607	529	529
q3	4827	5185	4615	4615
q4	2236	2351	1463	1463
q5	4651	4489	4494	4489
q6	226	169	126	126
q7	1855	1767	1551	1551
q8	2457	2153	2021	2021
q9	7325	7391	7300	7300
q10	3693	3615	3135	3135
q11	543	386	359	359
q12	716	715	498	498
q13	2451	2691	1994	1994
q14	270	272	249	249
q15	q16	666	683	625	625
q17	7290	6798	6681	6681
q18	11910	11034	11763	11034
q19	1135	1031	1010	1010
q20	2205	2187	1909	1909
q21	4968	4052	4336	4052
q22	522	461	389	389
Total cold run time: 65398 ms
Total hot run time: 58670 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 152719 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 7635434adfda681c2d1d8623ee8662c3780b3931, data reload: false

query5	4298	612	490	490
query6	442	208	196	196
query7	4817	568	285	285
query8	323	179	161	161
query9	8795	3985	3967	3967
query10	494	313	262	262
query11	5838	3529	3233	3233
query12	153	91	85	85
query13	1242	591	411	411
query14	6464	4535	4252	4252
query14_1	3959	3950	3948	3948
query15	205	197	178	178
query16	972	464	433	433
query17	928	661	548	548
query18	2455	458	349	349
query19	206	185	145	145
query20	86	81	81	81
query21	222	139	117	117
query22	12982	13040	12805	12805
query23	14052	13106	12477	12477
query23_1	12482	12436	12487	12436
query24	6932	1119	714	714
query24_1	678	742	724	724
query25	553	441	405	405
query26	1282	320	170	170
query27	2701	558	336	336
query28	4399	1992	1988	1988
query29	1589	685	507	507
query30	290	219	182	182
query31	871	771	628	628
query32	148	97	94	94
query33	508	306	237	237
query34	1182	1116	649	649
query35	718	753	626	626
query36	789	800	730	730
query37	147	103	87	87
query38	1815	1770	1672	1672
query39	708	690	664	664
query39_1	669	643	652	643
query40	226	122	97	97
query41	64	64	62	62
query42	99	97	92	92
query43	337	341	296	296
query44	1372	725	717	717
query45	181	179	173	173
query46	1056	1234	718	718
query47	1484	1498	1408	1408
query48	377	417	303	303
query49	581	413	288	288
query50	964	340	255	255
query51	10520	10568	10347	10347
query52	89	89	80	80
query53	242	246	181	181
query54	238	221	187	187
query55	79	74	71	71
query56	217	222	213	213
query57	1503	1477	1336	1336
query58	284	255	257	255
query59	2010	2079	1854	1854
query60	281	258	230	230
query61	150	149	149	149
query62	390	324	264	264
query63	216	182	175	175
query64	2685	1039	812	812
query65	3531	3480	3433	3433
query66	1788	423	295	295
query67	20128	19993	20472	19993
query68	3317	1524	905	905
query69	404	301	262	262
query70	925	807	803	803
query71	295	239	205	205
query72	2852	2545	2210	2210
query73	819	762	422	422
query74	4614	4496	4310	4310
query75	2286	2266	1950	1950
query76	1995	1123	793	793
query77	354	386	295	295
query78	9224	9124	8483	8483
query79	1122	1251	742	742
query80	510	443	386	386
query81	525	325	282	282
query82	268	158	127	127
query83	216	213	191	191
query84	290	143	110	110
query85	788	476	372	372
query86	292	246	219	219
query87	1984	1968	1839	1839
query88	3620	2774	2724	2724
query89	325	293	252	252
query90	2015	180	178	178
query91	166	156	122	122
query92	93	90	98	90
query93	1440	1471	877	877
query94	523	333	282	282
query95	671	365	338	338
query96	1023	779	351	351
query97	2419	2445	2321	2321
query98	158	148	143	143
query99	719	725	609	609
Total cold run time: 234607 ms
Total hot run time: 152719 ms

@hello-stephen

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

query1	0.01	0.00	0.01
query2	0.09	0.05	0.05
query3	0.25	0.13	0.14
query4	1.61	0.15	0.14
query5	0.24	0.23	0.23
query6	1.15	0.92	0.93
query7	0.04	0.01	0.00
query8	0.05	0.03	0.04
query9	0.39	0.34	0.34
query10	0.58	0.55	0.57
query11	0.21	0.15	0.15
query12	0.18	0.15	0.14
query13	0.48	0.47	0.47
query14	0.93	0.95	0.96
query15	0.62	0.59	0.61
query16	0.32	0.32	0.32
query17	1.10	1.11	1.09
query18	0.21	0.19	0.19
query19	1.99	1.99	1.89
query20	0.02	0.01	0.02
query21	15.45	0.24	0.13
query22	4.82	0.05	0.05
query23	16.15	0.32	0.12
query24	2.96	0.44	0.32
query25	0.12	0.06	0.05
query26	0.72	0.20	0.16
query27	0.05	0.04	0.04
query28	3.53	0.83	0.34
query29	12.49	4.17	3.31
query30	0.28	0.16	0.15
query31	2.78	0.55	0.31
query32	3.22	0.60	0.49
query33	3.20	3.25	3.21
query34	15.54	3.96	3.29
query35	3.26	3.19	3.21
query36	0.56	0.44	0.42
query37	0.08	0.06	0.06
query38	0.05	0.04	0.04
query39	0.04	0.03	0.04
query40	0.18	0.15	0.14
query41	0.09	0.04	0.03
query42	0.04	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 96.12 s
Total hot run time: 24.13 s

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 13.95% (18/129) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 76.38% (34444/45098)
Line Coverage 61.32% (387053/631215)
Region Coverage 57.80% (326501/564879)
Branch Coverage 58.52% (148572/253893)

### What problem does this PR solve?

Issue Number: None
Related PR: apache#68357

Problem Summary: Restore parent completion barriers so a reshard child is
scheduled only after every required parent becomes visible. Stop caught-up
shards from polling for the rest of a batch without reporting EOF. Remove
test-only job state and synthetic transaction paths, compare and copy topology
structurally, and prune expired completed nodes while retaining referenced
ancestors. Skip missing jobs in Kinesis metadata replay with a warning.

Limit each latest-position RPC to one scan slot and requeue after each shard
so large jobs cannot occupy the whole pool. Preserve completed results when
callback cleanup or FE polling crosses the deadline, while keeping cancellation
and failure atomic. Add tests for scheduling fairness, queue rejection,
visibility barriers, replay, topology collection and batch completion.

### Release note

Improve Kinesis Routine Load reshard scheduling, idle polling and latest-position
initialization. Per-job latest-position scans now run one shard at a time.

### Check List (For Author)

- Test: Unit Test
    - ./run-be-ut.sh --run --filter='*Kinesis*' -j48: 30 passed.
    - ./run-fe-ut.sh --run 'org.apache.doris.load.routineload.KinesisRoutineLoadJobTest,org.apache.doris.load.routineload.kinesis.*Test': 68 passed.
    - No AWS or cluster regression tests run.
    - BE format and build hygiene checks passed. New test clang-tidy checks passed;
      full changed-file analysis still reports pre-existing diagnostics outside this patch.
- Behavior changed: Yes (parent visibility barriers, caught-up batch completion,
  topology pruning and per-job scan scheduling).
- Does this need documentation: No
@0AyanamiRei
0AyanamiRei force-pushed the wip/kinesis-shard-topology-20260916 branch from 1bd6dbf to 6ae2a75 Compare September 28, 2026 02:20
@0AyanamiRei

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 77.79% (2073/2665)
Line Coverage 65.99% (38089/57716)
Region Coverage 53.54% (35781/66831)
Branch Coverage 57.06% (11529/20204)

### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357, apache#68765

Problem Summary: CI merges this branch with master before building. Sync master d437841 so local validation includes the current persistence and file-cache tests and the upstream Lance install-guard removal that restores compatibility with prebuilt compilation images. The merge has no conflict resolutions.

### Release note

None

### Check List (For Author)

- Test: No need to test this merge separately; targeted validation follows with the CI test fixes.
- Behavior changed: No additional behavior beyond upstream master
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357

Problem Summary: After merging master, the Kinesis variant of RoutineLoadJobPersistenceTest still sets the removed openKinesisShards field through reflection and fails before exercising task scheduling. Initialize a confirmed shard topology with the existing concrete sequence position instead. Preserve the assertions that the create journal precedes publication and scheduling and that a published job can create a task.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - Before the fix, RoutineLoadJobPersistenceTest,Kinesis*Test reproduced the missing-field exception (70 tests, 1 error).
    - MAVEN_ARGS='-Dmaven.compiler.useIncrementalCompilation=false' ./run-fe-ut.sh --run 'RoutineLoadJobPersistenceTest,Kinesis*Test': 70 passed, no failures, errors, or skips.
    - mvn -f fe/pom.xml checkstyle:check -pl fe-core: 0 violations.
- Behavior changed: No; test fixture only
- Does this need documentation: No
### What problem does this PR solve?

Issue Number: None

Related PR: apache#68357

Problem Summary: ASAN in the file-cache index-only load test reports a heap-use-after-free when the main thread grows created_files while an asynchronous S3 upload callback traverses and updates its elements. Protect file creation, upload observations, and assertion readers with one fixture-owned mutex. Preserve asynchronous uploads and all existing load and compaction assertions. The fixture outlives the writers and callbacks.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - ENABLE_PCH=OFF ./run-be-ut.sh --run --filter='CloudFileCacheWriteIndexOnly*:*Kinesis*' -j48: 38 passed under ASAN.
    - ENABLE_PCH=OFF GTEST_REPEAT=200 ./run-be-ut.sh --run --filter='CloudFileCacheWriteIndexOnlyTest.*' -j48: all 200 iterations passed (600 executions).
    - The unpatched local baseline passed 20 repetitions; the concurrency failure was observed in CI, not reproduced locally.
    - clang-format 16 is clean for the modified file; build hygiene and clang-tidy for modified lines passed.
- Behavior changed: No; test observations only
- Does this need documentation: No
@0AyanamiRei
0AyanamiRei requested a review from yiguolei as a code owner October 9, 2026 02:54
@0AyanamiRei

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17229	5744	5644	5644
q2	2118	313	280	280
q3	10124	1428	872	872
q4	4670	485	347	347
q5	7457	817	540	540
q6	190	187	156	156
q7	777	801	619	619
q8	9275	1369	1116	1116
q9	5805	4503	4489	4489
q10	6835	1314	1033	1033
q11	432	261	247	247
q12	638	412	303	303
q13	18044	3076	2384	2384
q14	281	272	249	249
q15	q16	739	739	690	690
q17	1219	755	595	595
q18	7144	6248	6179	6179
q19	1107	978	619	619
q20	402	336	227	227
q21	5886	2620	2677	2620
q22	403	354	309	309
Total cold run time: 100775 ms
Total hot run time: 29518 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	6701	6650	6789	6650
q2	717	608	563	563
q3	5682	5798	5307	5307
q4	2094	2165	1566	1566
q5	5640	5705	5890	5705
q6	260	195	146	146
q7	2252	2040	1816	1816
q8	3174	2764	2720	2720
q9	8274	8067	7935	7935
q10	3655	3619	3242	3242
q11	599	403	382	382
q12	675	692	504	504
q13	2746	3066	2391	2391
q14	283	277	262	262
q15	q16	667	693	609	609
q17	7866	6986	6789	6789
q18	13111	12268	12963	12268
q19	933	838	825	825
q20	2203	2168	1944	1944
q21	5773	4671	4764	4671
q22	507	473	401	401
Total cold run time: 73812 ms
Total hot run time: 66696 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 151963 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 ab6ca802fadabe787c69819d57212b789bf1c843, data reload: false

query5	4302	570	453	453
query6	425	218	191	191
query7	4819	448	231	231
query8	331	183	172	172
query9	8778	3947	3969	3947
query10	455	305	242	242
query11	5962	3419	3183	3183
query12	146	90	82	82
query13	1245	450	328	328
query14	6554	4782	4438	4438
query14_1	4282	4207	4269	4207
query15	205	203	186	186
query16	953	442	416	416
query17	845	657	537	537
query18	2414	429	310	310
query19	194	175	138	138
query20	83	79	77	77
query21	210	133	114	114
query22	13122	13089	12900	12900
query23	13037	12560	12161	12161
query23_1	12315	12406	12138	12138
query24	7074	853	468	468
query24_1	469	472	491	472
query25	555	395	335	335
query26	1255	253	133	133
query27	2787	435	257	257
query28	4620	1924	1933	1924
query29	1509	578	432	432
query30	295	220	185	185
query31	881	766	636	636
query32	136	92	90	90
query33	485	299	241	241
query34	941	868	480	480
query35	748	751	637	637
query36	848	820	723	723
query37	133	107	89	89
query38	1802	1794	1677	1677
query39	694	722	679	679
query39_1	677	663	669	663
query40	219	115	97	97
query41	66	65	63	63
query42	82	84	80	80
query43	367	375	329	329
query44	1341	685	697	685
query45	177	175	158	158
query46	849	960	562	562
query47	2955	2975	2961	2961
query48	304	309	228	228
query49	566	395	288	288
query50	704	283	217	217
query51	10472	10573	10271	10271
query52	80	78	67	67
query53	194	216	151	151
query54	227	196	219	196
query55	73	66	63	63
query56	238	213	223	213
query57	1635	1586	1563	1563
query58	277	260	252	252
query59	2350	2362	2150	2150
query60	276	233	219	219
query61	145	144	148	144
query62	389	351	288	288
query63	198	163	162	162
query64	2750	932	781	781
query65	3441	3371	3381	3371
query66	1771	417	292	292
query67	20863	20146	19923	19923
query68	3387	1001	612	612
query69	392	289	243	243
query70	922	842	801	801
query71	302	232	210	210
query72	2921	2793	2502	2502
query73	550	531	307	307
query74	4595	4487	4327	4327
query75	2340	2341	1955	1955
query76	2365	1011	614	614
query77	388	413	368	368
query78	9041	9045	8497	8497
query79	986	844	515	515
query80	1204	439	354	354
query81	587	320	279	279
query82	607	139	110	110
query83	308	206	182	182
query84	310	135	105	105
query85	864	414	362	362
query86	395	246	233	233
query87	2021	1952	1810	1810
query88	3668	2708	2676	2676
query89	337	298	265	265
query90	1855	187	181	181
query91	167	154	123	123
query92	96	87	80	80
query93	1040	992	560	560
query94	632	320	271	271
query95	585	417	313	313
query96	677	522	239	239
query97	2484	2424	2313	2313
query98	156	150	144	144
query99	783	770	647	647
Total cold run time: 236294 ms
Total hot run time: 151963 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 60.00% (78/130) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 65.26% (30958/47435)
Line Coverage 50.02% (325378/650444)
Region Coverage 45.51% (263213/578389)
Branch Coverage 47.16% (123483/261865)

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 61.54% (80/130) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 76.78% (35251/45914)
Line Coverage 61.94% (398351/643111)
Region Coverage 58.46% (336718/576009)
Branch Coverage 59.29% (154774/261066)

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17422	5607	5562	5562
q2	2098	325	290	290
q3	10114	1395	851	851
q4	4670	479	353	353
q5	7452	793	543	543
q6	189	185	155	155
q7	752	794	611	611
q8	9269	1343	1121	1121
q9	5798	4459	4455	4455
q10	6805	1308	1038	1038
q11	442	254	239	239
q12	633	401	288	288
q13	18084	3091	2397	2397
q14	280	272	248	248
q15	q16	745	729	660	660
q17	1184	731	564	564
q18	7195	6252	6171	6171
q19	1143	948	630	630
q20	399	338	228	228
q21	5259	2284	2414	2284
q22	359	318	273	273
Total cold run time: 100292 ms
Total hot run time: 28961 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	6178	6160	6153	6153
q2	666	566	535	535
q3	5253	5440	4980	4980
q4	2007	2190	1551	1551
q5	5254	5203	5900	5203
q6	245	204	168	168
q7	2305	2013	1873	1873
q8	3154	2828	2807	2807
q9	8237	8295	8343	8295
q10	3762	3712	3316	3316
q11	682	440	408	408
q12	709	750	559	559
q13	2926	3255	2522	2522
q14	319	321	291	291
q15	q16	730	755	677	677
q17	8514	7552	7460	7460
q18	13254	12348	13161	12348
q19	938	794	801	794
q20	2199	2164	1933	1933
q21	5824	4748	4840	4748
q22	514	446	417	417
Total cold run time: 73670 ms
Total hot run time: 67038 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 152229 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 ab6ca802fadabe787c69819d57212b789bf1c843, data reload: false

query5	4309	606	462	462
query6	418	213	195	195
query7	4809	458	230	230
query8	320	180	168	168
query9	8764	3988	4025	3988
query10	475	311	258	258
query11	5954	3463	3192	3192
query12	145	93	84	84
query13	1263	434	309	309
query14	6521	4827	4438	4438
query14_1	4279	4222	4247	4222
query15	218	206	190	190
query16	940	447	429	429
query17	851	678	512	512
query18	2404	420	294	294
query19	200	155	146	146
query20	79	78	78	78
query21	206	133	107	107
query22	13042	13052	12900	12900
query23	13116	12583	12175	12175
query23_1	12133	12329	12171	12171
query24	7077	819	449	449
query24_1	465	464	462	462
query25	507	385	335	335
query26	1251	255	137	137
query27	2792	436	274	274
query28	4606	1918	1916	1916
query29	1514	589	443	443
query30	296	217	185	185
query31	897	760	645	645
query32	128	92	92	92
query33	500	300	235	235
query34	912	847	500	500
query35	747	758	666	666
query36	795	791	730	730
query37	133	104	88	88
query38	1780	1746	1683	1683
query39	694	708	667	667
query39_1	690	667	676	667
query40	222	115	94	94
query41	71	72	72	72
query42	91	89	82	82
query43	378	383	328	328
query44	1325	697	706	697
query45	181	178	163	163
query46	851	973	571	571
query47	3018	3031	2939	2939
query48	294	310	232	232
query49	576	401	302	302
query50	672	280	212	212
query51	10448	10342	10462	10342
query52	89	82	72	72
query53	190	212	154	154
query54	263	207	196	196
query55	76	71	69	69
query56	247	227	231	227
query57	1629	1599	1581	1581
query58	294	277	266	266
query59	2393	2394	2127	2127
query60	295	252	254	252
query61	142	145	144	144
query62	396	339	287	287
query63	198	162	162	162
query64	2722	910	764	764
query65	3442	3388	3380	3380
query66	1773	410	296	296
query67	20656	20222	20140	20140
query68	3089	990	594	594
query69	376	283	247	247
query70	915	842	830	830
query71	290	226	211	211
query72	2756	2601	2311	2311
query73	521	533	293	293
query74	4598	4473	4326	4326
query75	2348	2279	1950	1950
query76	2279	1012	619	619
query77	361	397	307	307
query78	8993	8892	8481	8481
query79	991	839	521	521
query80	582	413	374	374
query81	535	319	270	270
query82	580	139	118	118
query83	263	196	180	180
query84	310	119	100	100
query85	818	434	376	376
query86	312	236	227	227
query87	2021	1974	1849	1849
query88	3587	2669	2666	2666
query89	340	292	255	255
query90	1860	188	183	183
query91	158	154	126	126
query92	96	86	94	86
query93	1013	982	555	555
query94	464	306	291	291
query95	595	343	327	327
query96	673	530	228	228
query97	2428	2438	2337	2337
query98	154	150	145	145
query99	776	764	652	652
Total cold run time: 234047 ms
Total hot run time: 152229 ms

@hello-stephen

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

query1	0.01	0.01	0.00
query2	0.14	0.08	0.08
query3	0.36	0.20	0.21
query4	1.61	0.21	0.21
query5	0.30	0.29	0.29
query6	1.16	0.66	0.66
query7	0.03	0.00	0.00
query8	0.09	0.08	0.07
query9	0.49	0.38	0.39
query10	0.58	0.59	0.58
query11	0.32	0.19	0.19
query12	0.32	0.19	0.19
query13	0.52	0.53	0.53
query14	0.89	0.91	0.89
query15	0.68	0.61	0.59
query16	0.36	0.37	0.38
query17	1.03	1.05	1.04
query18	0.30	0.28	0.28
query19	1.98	1.93	1.88
query20	0.02	0.02	0.01
query21	15.40	0.35	0.30
query22	4.81	0.13	0.14
query23	15.86	0.49	0.29
query24	2.58	0.54	0.39
query25	0.16	0.11	0.10
query26	0.75	0.27	0.21
query27	0.10	0.09	0.10
query28	3.46	0.86	0.42
query29	12.44	4.27	3.32
query30	0.38	0.22	0.22
query31	2.76	0.61	0.36
query32	3.24	0.64	0.52
query33	2.94	2.97	3.00
query34	15.89	4.14	3.48
query35	3.40	3.40	3.39
query36	0.59	0.51	0.50
query37	0.13	0.09	0.09
query38	0.08	0.07	0.07
query39	0.06	0.06	0.06
query40	0.20	0.17	0.17
query41	0.11	0.05	0.06
query42	0.06	0.07	0.06
query43	0.07	0.06	0.06
Total cold run time: 96.66 s
Total hot run time: 25.69 s

### What problem does this PR solve?

Related PR: apache#68357

Problem Summary: The Clang Formatter check fails because the Kinesis upstream
mock test has incorrectly ordered includes and noncanonical argument wrapping.
Apply clang-format 16 to the test file without changing test behavior.

### Release note

None

### Check List (For Author)

- Test: Manual test
    - build-support/check-format.sh (passed with clang-format 16.0.6)
    - build-support/check-build-hygiene.sh (passed)
    - git diff --check (passed)
    - No unit test rerun locally: formatting-only change
- Behavior changed: No
- Does this need documentation: No
@0AyanamiRei

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

Cloud UT Coverage Report

Increment line coverage 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 77.84% (2079/2671)
Line Coverage 66.02% (38186/57840)
Region Coverage 53.58% (35855/66920)
Branch Coverage 56.95% (11517/20223)

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17597	5634	5550	5550
q2	2138	314	262	262
q3	10232	1411	847	847
q4	4684	483	350	350
q5	7456	800	540	540
q6	184	188	158	158
q7	769	806	613	613
q8	9569	1373	1109	1109
q9	5897	4473	4468	4468
q10	6855	1302	1021	1021
q11	445	257	240	240
q12	634	398	283	283
q13	18088	3629	2369	2369
q14	278	273	248	248
q15	q16	743	723	679	679
q17	1205	750	569	569
q18	7139	6223	6225	6223
q19	1114	959	606	606
q20	386	327	227	227
q21	5370	2514	2551	2514
q22	432	356	291	291
Total cold run time: 101215 ms
Total hot run time: 29167 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	6510	6668	6519	6519
q2	758	605	574	574
q3	5635	5650	5297	5297
q4	2048	2485	1611	1611
q5	5849	5631	5638	5631
q6	242	191	150	150
q7	2346	2144	1784	1784
q8	3246	2816	2776	2776
q9	8342	8027	7746	7746
q10	3681	3612	3270	3270
q11	605	415	376	376
q12	678	692	488	488
q13	2752	3087	2388	2388
q14	283	290	268	268
q15	q16	676	701	620	620
q17	7767	6936	6845	6845
q18	13149	12261	13147	12261
q19	930	789	801	789
q20	2207	2194	1961	1961
q21	6022	4872	4932	4872
q22	507	465	394	394
Total cold run time: 74233 ms
Total hot run time: 66620 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 151757 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 4eca7aef24abb2bc2f26a528ffb3b3f2b0388a4c, data reload: false

query5	4299	592	441	441
query6	432	209	195	195
query7	4813	437	226	226
query8	316	181	166	166
query9	8743	4059	4056	4056
query10	465	302	263	263
query11	6044	3419	3177	3177
query12	150	98	92	92
query13	1248	418	311	311
query14	6546	4777	4500	4500
query14_1	4289	4289	4221	4221
query15	210	207	195	195
query16	980	479	434	434
query17	869	664	549	549
query18	2426	423	313	313
query19	203	161	134	134
query20	85	78	78	78
query21	209	142	115	115
query22	12888	13057	12737	12737
query23	13246	12584	12133	12133
query23_1	12176	12216	12272	12216
query24	7109	827	469	469
query24_1	476	469	477	469
query25	541	413	368	368
query26	1272	255	137	137
query27	2765	430	270	270
query28	4627	1930	1937	1930
query29	1555	591	464	464
query30	300	219	180	180
query31	893	766	662	662
query32	145	94	93	93
query33	501	299	255	255
query34	946	845	505	505
query35	756	779	654	654
query36	832	787	748	748
query37	126	105	93	93
query38	1814	1727	1714	1714
query39	730	742	689	689
query39_1	679	664	687	664
query40	222	121	109	109
query41	72	74	70	70
query42	97	88	84	84
query43	364	375	328	328
query44	1362	688	695	688
query45	183	174	154	154
query46	884	959	551	551
query47	3027	2949	2910	2910
query48	295	300	211	211
query49	564	423	283	283
query50	662	263	213	213
query51	10451	10384	10134	10134
query52	79	76	70	70
query53	186	209	145	145
query54	231	185	177	177
query55	75	69	67	67
query56	215	210	214	210
query57	1602	1575	1554	1554
query58	280	254	251	251
query59	2342	2368	2114	2114
query60	293	243	219	219
query61	144	148	148	148
query62	392	343	294	294
query63	195	160	166	160
query64	2791	941	778	778
query65	3432	3363	3390	3363
query66	1765	418	298	298
query67	20589	20188	20055	20055
query68	3220	984	594	594
query69	383	283	247	247
query70	897	826	845	826
query71	308	224	200	200
query72	2829	2531	2285	2285
query73	523	519	293	293
query74	4624	4465	4333	4333
query75	2363	2283	1945	1945
query76	2364	1012	600	600
query77	365	386	297	297
query78	9046	8955	8453	8453
query79	939	903	525	525
query80	498	434	340	340
query81	515	321	272	272
query82	565	133	108	108
query83	294	194	176	176
query84	301	118	105	105
query85	781	417	368	368
query86	321	242	232	232
query87	2002	1942	1853	1853
query88	3604	2693	2664	2664
query89	340	294	255	255
query90	1910	184	187	184
query91	159	149	123	123
query92	94	84	89	84
query93	994	1006	558	558
query94	454	337	289	289
query95	597	342	381	342
query96	660	526	235	235
query97	2449	2431	2315	2315
query98	158	146	155	146
query99	776	753	656	656
Total cold run time: 234426 ms
Total hot run time: 151757 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 1.48% (21/1422) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 60.00% (78/130) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 65.31% (30986/47448)
Line Coverage 50.07% (325784/650662)
Region Coverage 45.53% (263482/578762)
Branch Coverage 47.18% (123610/261973)

@hello-stephen

Copy link
Copy Markdown
Contributor

BE Regression && UT Coverage Report

Increment line coverage 61.54% (80/130) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 76.78% (35265/45927)
Line Coverage 61.96% (398617/643315)
Region Coverage 58.44% (336854/576378)
Branch Coverage 59.29% (154858/261172)

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17606	5713	5605	5605
q2	2100	322	264	264
q3	10175	1420	856	856
q4	4679	481	351	351
q5	7461	814	564	564
q6	189	210	168	168
q7	772	806	620	620
q8	9259	1350	1133	1133
q9	5747	4495	4490	4490
q10	6873	1297	1021	1021
q11	449	257	246	246
q12	634	415	308	308
q13	18046	3085	2424	2424
q14	290	274	246	246
q15	q16	750	726	672	672
q17	1205	756	591	591
q18	7196	6290	6218	6218
q19	1105	957	612	612
q20	383	337	228	228
q21	5405	2314	2459	2314
q22	364	323	279	279
Total cold run time: 100688 ms
Total hot run time: 29210 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	6254	6175	6174	6174
q2	697	611	584	584
q3	5238	5447	4942	4942
q4	2077	2184	1727	1727
q5	5263	5617	5646	5617
q6	265	201	153	153
q7	2314	2090	1914	1914
q8	3176	2856	2889	2856
q9	8271	8225	8344	8225
q10	3879	3749	3381	3381
q11	700	477	452	452
q12	731	741	561	561
q13	2943	3286	2506	2506
q14	317	311	294	294
q15	q16	742	767	673	673
q17	8662	7778	7549	7549
q18	13181	12321	13117	12321
q19	937	835	807	807
q20	2192	2200	1957	1957
q21	6028	5065	5086	5065
q22	513	474	399	399
Total cold run time: 74380 ms
Total hot run time: 68157 ms

@hello-stephen

Copy link
Copy Markdown
Contributor
TPC-DS: Total hot run time: 152696 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 4eca7aef24abb2bc2f26a528ffb3b3f2b0388a4c, data reload: false

query5	4314	606	442	442
query6	435	207	196	196
query7	4793	446	235	235
query8	317	205	170	170
query9	8815	3991	3931	3931
query10	463	316	267	267
query11	6035	3434	3211	3211
query12	148	92	87	87
query13	1274	460	324	324
query14	6509	4793	4463	4463
query14_1	4223	4254	4235	4235
query15	211	204	183	183
query16	936	458	429	429
query17	878	641	511	511
query18	2420	409	306	306
query19	185	156	133	133
query20	80	78	77	77
query21	204	128	109	109
query22	12988	13066	12980	12980
query23	13142	12477	12210	12210
query23_1	12294	12117	12112	12112
query24	7059	822	457	457
query24_1	466	458	461	458
query25	512	389	342	342
query26	1241	257	140	140
query27	2751	435	261	261
query28	4598	1920	1935	1920
query29	1536	595	438	438
query30	297	217	184	184
query31	891	770	657	657
query32	141	90	86	86
query33	504	292	239	239
query34	871	874	503	503
query35	752	752	647	647
query36	863	823	742	742
query37	143	114	90	90
query38	1818	1745	1738	1738
query39	709	730	702	702
query39_1	669	670	654	654
query40	223	132	97	97
query41	74	71	71	71
query42	90	87	86	86
query43	371	383	344	344
query44	1317	704	702	702
query45	182	178	163	163
query46	849	949	566	566
query47	3009	3008	2925	2925
query48	305	323	230	230
query49	581	408	298	298
query50	682	278	220	220
query51	10549	10500	10357	10357
query52	84	85	82	82
query53	191	206	156	156
query54	241	200	193	193
query55	79	69	75	69
query56	255	230	239	230
query57	1625	1587	1559	1559
query58	287	274	261	261
query59	2346	2385	2121	2121
query60	293	249	216	216
query61	169	168	166	166
query62	394	347	292	292
query63	196	172	173	172
query64	2862	1043	877	877
query65	3451	3389	3407	3389
query66	1760	419	310	310
query67	20093	20199	20126	20126
query68	3028	1014	601	601
query69	393	295	240	240
query70	905	840	838	838
query71	287	232	211	211
query72	2778	2639	2515	2515
query73	522	540	294	294
query74	4585	4505	4316	4316
query75	2349	2303	1958	1958
query76	2289	1005	637	637
query77	367	392	303	303
query78	9348	8983	8491	8491
query79	981	879	534	534
query80	1237	427	378	378
query81	591	323	279	279
query82	565	140	114	114
query83	307	194	171	171
query84	314	127	105	105
query85	855	422	364	364
query86	402	244	225	225
query87	2009	1948	1798	1798
query88	3697	2714	2682	2682
query89	344	302	252	252
query90	1913	185	185	185
query91	164	156	120	120
query92	99	89	84	84
query93	1109	1007	569	569
query94	648	324	276	276
query95	584	334	323	323
query96	677	512	234	234
query97	2457	2383	2284	2284
query98	161	152	145	145
query99	786	767	654	654
Total cold run time: 235470 ms
Total hot run time: 152696 ms

@hello-stephen

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

query1	0.01	0.00	0.01
query2	0.14	0.09	0.08
query3	0.37	0.22	0.21
query4	1.62	0.22	0.20
query5	0.32	0.29	0.28
query6	1.16	0.67	0.65
query7	0.03	0.01	0.00
query8	0.09	0.07	0.07
query9	0.49	0.40	0.40
query10	0.62	0.59	0.59
query11	0.32	0.18	0.19
query12	0.33	0.19	0.18
query13	0.51	0.52	0.52
query14	0.90	0.89	0.88
query15	0.67	0.58	0.59
query16	0.37	0.37	0.38
query17	1.03	1.03	1.07
query18	0.32	0.30	0.28
query19	1.98	1.89	1.85
query20	0.02	0.01	0.02
query21	15.40	0.38	0.31
query22	4.82	0.12	0.12
query23	15.87	0.50	0.30
query24	2.33	0.56	0.40
query25	0.15	0.11	0.09
query26	0.73	0.26	0.21
query27	0.10	0.09	0.10
query28	3.43	0.90	0.43
query29	12.45	4.28	3.30
query30	0.38	0.24	0.20
query31	2.75	0.62	0.37
query32	3.22	0.64	0.51
query33	3.01	3.02	3.08
query34	15.81	4.16	3.50
query35	3.41	3.38	3.42
query36	0.58	0.49	0.50
query37	0.13	0.10	0.09
query38	0.07	0.06	0.06
query39	0.06	0.06	0.06
query40	0.19	0.17	0.17
query41	0.10	0.06	0.05
query42	0.06	0.06	0.05
query43	0.07	0.07	0.06
Total cold run time: 96.42 s
Total hot run time: 25.62 s

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