Skip to content

[fix](transaction) Fail fast when a backend restarts during insert#65525

Merged
sollhui merged 3 commits into
apache:masterfrom
sollhui:fix-doris-27086
Jul 14, 2026
Merged

[fix](transaction) Fail fast when a backend restarts during insert#65525
sollhui merged 3 commits into
apache:masterfrom
sollhui:fix-doris-27086

Conversation

@sollhui

@sollhui sollhui commented Jul 13, 2026

Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Introduced by #41730

Nereids INSERT waits for fragment completion through LoadProcessor. The backend health check only considered the alive flag, so a quickly restarted backend could look healthy even though the old process could no longer report fragment completion. Capture the backend process epoch when fragment tasks are created, compare it while joining, and propagate a precise restart error through the existing coordinator cancellation path.

### What problem does this PR solve?

Issue Number: None

Problem Summary: Nereids INSERT waits for fragment completion through LoadProcessor. The backend health check only considered the alive flag, so a quickly restarted backend could look healthy even though the old process could no longer report fragment completion. Capture the backend process epoch when fragment tasks are created, compare it while joining, and propagate a precise restart error through the existing coordinator cancellation path.

### Release note

Nereids INSERT now fails promptly with a clear error when an executing backend restarts.

### Check List (For Author)

- Test: Unit test and docker regression test added; not run per request
- Behavior changed: Yes. An INSERT fails fast instead of waiting until insert timeout after its backend restarts
- Does this need documentation: No
@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?

@sollhui

sollhui commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@sollhui

sollhui commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

/review

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17626	4218	4146	4146
q2	2031	323	200	200
q3	10291	1402	826	826
q4	4685	477	348	348
q5	7536	856	565	565
q6	183	174	140	140
q7	810	842	621	621
q8	9336	1596	1609	1596
q9	5730	4403	4417	4403
q10	6782	1779	1549	1549
q11	496	355	315	315
q12	708	541	447	447
q13	18103	3432	2801	2801
q14	267	269	240	240
q15	q16	786	792	723	723
q17	929	894	980	894
q18	6979	5763	5630	5630
q19	1153	1282	986	986
q20	800	676	586	586
q21	5699	2686	2434	2434
q22	426	351	300	300
Total cold run time: 101356 ms
Total hot run time: 29750 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4384	4353	4435	4353
q2	304	317	220	220
q3	4560	4972	4400	4400
q4	2041	2141	1364	1364
q5	4431	4308	4312	4308
q6	242	182	131	131
q7	1709	1940	1844	1844
q8	2597	2168	2215	2168
q9	8075	8274	7904	7904
q10	4796	4842	4281	4281
q11	610	409	404	404
q12	772	805	572	572
q13	3324	3588	2885	2885
q14	290	321	271	271
q15	q16	719	741	632	632
q17	1342	1347	1347	1347
q18	8153	7529	7239	7239
q19	1137	1119	1121	1119
q20	2219	2182	1965	1965
q21	5299	4608	4460	4460
q22	524	448	398	398
Total cold run time: 57528 ms
Total hot run time: 52265 ms

@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 based on three correctness/testability issues found in static review.

Checkpoint conclusions:

  • Goal: The PR aims to fail fast when a BE restarts during insert, but the implementation is incomplete because the new health loop checks only top-fragment tasks while insert join waits all fragment tasks.
  • Scope: The code change is small and focused, but the checked task set is too narrow for multi-fragment insert plans.
  • Concurrency/lifecycle: Backend heartbeat epoch updates and synchronous cancellation paths were reviewed. Cancellation status propagation is OK for ordinary insert and TVF, but epoch comparison has an upgrade/replay compatibility edge when the captured epoch is 0.
  • Compatibility: Existing Doris logic treats zero process epochs as upgrade/old-metadata compatibility; this PR handles only current zero epochs, not captured zero epochs.
  • Parallel paths: Ordinary insert, TVF insert, LoadProcessor, task construction, and legacy Coordinator epoch logic were checked. The top-fragment-only check is the remaining parallel-path gap.
  • Tests: Added unit and docker regression coverage are useful, but the docker regression uses a fixed sleep instead of synchronizing on the writer-close debug point. No tests/builds were run in this review environment; review was static only.
  • Config/persistence/FE-BE protocol: No new config, storage format, or FE-BE protocol fields were introduced.
  • User focus: No additional user-provided review focus was supplied.

Round 2 subagent convergence returned NO_NEW_VALUABLE_FINDINGS for this final three-comment set, and no existing inline review comments were present.

@hello-stephen

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

query5	4348	651	517	517
query6	487	247	206	206
query7	4860	593	335	335
query8	339	197	177	177
query9	8788	4104	4123	4104
query10	467	342	298	298
query11	5977	2325	2174	2174
query12	156	104	102	102
query13	1308	607	445	445
query14	6267	5366	5018	5018
query14_1	4385	4355	4416	4355
query15	225	204	184	184
query16	1012	469	437	437
query17	959	761	592	592
query18	2435	469	356	356
query19	223	199	158	158
query20	115	110	109	109
query21	231	158	134	134
query22	13676	13646	13521	13521
query23	17575	16599	16147	16147
query23_1	16351	16373	16328	16328
query24	7529	1813	1322	1322
query24_1	1355	1311	1304	1304
query25	577	484	403	403
query26	1339	351	215	215
query27	2631	613	367	367
query28	4474	2046	2042	2042
query29	1071	638	510	510
query30	335	269	244	244
query31	1125	1089	998	998
query32	113	63	66	63
query33	527	336	260	260
query34	1204	1180	673	673
query35	779	802	684	684
query36	1396	1386	1239	1239
query37	159	121	101	101
query38	1883	1715	1635	1635
query39	936	932	889	889
query39_1	880	868	884	868
query40	254	160	144	144
query41	106	63	64	63
query42	96	93	90	90
query43	334	331	288	288
query44	1455	770	790	770
query45	205	183	182	182
query46	1070	1230	772	772
query47	2325	2307	2225	2225
query48	393	397	306	306
query49	574	437	333	333
query50	1109	421	341	341
query51	10888	10854	10882	10854
query52	87	91	76	76
query53	265	282	206	206
query54	284	234	235	234
query55	76	71	65	65
query56	277	290	281	281
query57	1432	1382	1314	1314
query58	304	259	265	259
query59	1607	1679	1452	1452
query60	303	271	250	250
query61	158	151	152	151
query62	715	655	586	586
query63	262	217	213	213
query64	2815	1014	873	873
query65	4909	4796	4798	4796
query66	1815	515	386	386
query67	29501	29487	29292	29292
query68	3070	1599	969	969
query69	409	301	281	281
query70	1076	978	1016	978
query71	357	322	325	322
query72	3077	2718	2411	2411
query73	866	811	460	460
query74	5145	4954	4765	4765
query75	2634	2614	2213	2213
query76	2376	1190	818	818
query77	379	383	299	299
query78	12312	12321	11714	11714
query79	1413	1190	752	752
query80	1301	531	461	461
query81	549	321	275	275
query82	624	158	125	125
query83	396	314	297	297
query84	325	157	130	130
query85	957	577	530	530
query86	431	286	277	277
query87	1845	1832	1754	1754
query88	3785	2819	2782	2782
query89	459	407	364	364
query90	1926	207	200	200
query91	200	189	166	166
query92	63	62	58	58
query93	1691	1504	956	956
query94	735	354	310	310
query95	785	585	477	477
query96	1059	861	351	351
query97	2698	2657	2608	2608
query98	211	205	198	198
query99	1159	1163	1022	1022
Total cold run time: 266807 ms
Total hot run time: 180927 ms

@hello-stephen

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

query1	0.01	0.01	0.01
query2	0.09	0.05	0.05
query3	0.26	0.13	0.14
query4	1.61	0.15	0.14
query5	0.27	0.23	0.22
query6	1.26	1.08	1.03
query7	0.04	0.01	0.00
query8	0.06	0.04	0.03
query9	0.38	0.31	0.31
query10	0.54	0.60	0.58
query11	0.20	0.15	0.14
query12	0.19	0.15	0.15
query13	0.47	0.48	0.48
query14	1.03	1.01	1.02
query15	0.62	0.61	0.60
query16	0.31	0.34	0.32
query17	1.15	1.17	1.04
query18	0.23	0.22	0.21
query19	2.05	1.89	2.04
query20	0.02	0.02	0.01
query21	15.44	0.22	0.15
query22	4.89	0.06	0.05
query23	16.12	0.31	0.12
query24	2.96	0.41	0.30
query25	0.12	0.04	0.04
query26	0.73	0.20	0.16
query27	0.04	0.04	0.04
query28	3.49	0.89	0.53
query29	12.58	4.11	3.26
query30	0.26	0.16	0.15
query31	2.77	0.60	0.31
query32	3.22	0.58	0.48
query33	3.14	3.25	3.26
query34	15.55	4.24	3.53
query35	3.55	3.55	3.58
query36	0.55	0.45	0.44
query37	0.09	0.07	0.07
query38	0.05	0.04	0.04
query39	0.04	0.03	0.02
query40	0.18	0.17	0.15
query41	0.08	0.03	0.03
query42	0.04	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 96.72 s
Total hot run time: 25.08 s

### What problem does this PR solve?

Issue Number: None

Problem Summary: The insert health check only inspected top-fragment tasks, an unknown captured backend epoch could be misclassified as a restart, and the docker regression test restarted the backend after a fixed delay. Check every unfinished fragment task, compare only positive epochs, and wait for an observable writer-close debug-point hit before restarting the backend.

### Release note

INSERT now fails fast when any unfinished fragment backend restarts, while unknown backend process epochs remain compatible.

### Check List (For Author)

- Test: Not run per request; unit and docker regression coverage were updated.
- Behavior changed: Yes, backend restart detection covers every unfinished load fragment and ignores unknown epochs.
- Does this need documentation: No.
@sollhui

sollhui commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@sollhui

sollhui commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

/review

@sollhui sollhui changed the title [fix](fe) Fail fast when a backend restarts during insert [fix](transaction) Fail fast when a backend restarts during insert Jul 13, 2026
@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17677	4018	4020	4018
q2	2009	326	202	202
q3	10332	1437	888	888
q4	4682	471	343	343
q5	7506	854	588	588
q6	180	175	136	136
q7	759	858	633	633
q8	9326	1526	1573	1526
q9	5603	4382	4396	4382
q10	6787	1796	1533	1533
q11	497	361	322	322
q12	689	558	427	427
q13	18107	3371	2797	2797
q14	270	256	244	244
q15	q16	781	787	711	711
q17	1022	942	934	934
q18	6919	5781	5533	5533
q19	1294	1176	1030	1030
q20	754	622	552	552
q21	6465	2830	2730	2730
q22	470	372	306	306
Total cold run time: 102129 ms
Total hot run time: 29835 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	5057	4804	4708	4708
q2	313	334	216	216
q3	4995	5286	4676	4676
q4	2095	2148	1371	1371
q5	4767	4899	4626	4626
q6	228	173	134	134
q7	1891	1754	1551	1551
q8	2370	2055	2153	2055
q9	7742	7297	7182	7182
q10	4646	4619	4190	4190
q11	519	381	356	356
q12	737	750	523	523
q13	2968	3332	2788	2788
q14	276	284	260	260
q15	q16	704	695	621	621
q17	1270	1262	1233	1233
q18	7257	7006	6758	6758
q19	1056	1072	1040	1040
q20	2219	2223	1938	1938
q21	5218	4546	4377	4377
q22	513	459	390	390
Total cold run time: 56841 ms
Total hot run time: 50993 ms

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I found three remaining issues in the follow-up patch.

The FE-side latch coverage and zero-epoch compatibility concerns from the existing threads look addressed: the health check now walks all unfinished load fragment tasks, and epoch comparison only runs when both captured/current epochs are positive. The tokenized debug-point wait also addresses the original fixed-sleep race, but the regression still has a separate slow-restart window noted inline.

Validation: static review only in this GitHub Actions checkout. I did not run FE/BE builds or regression tests; .worktree_initialized, thirdparty/installed, and thirdparty/installed/bin/protoc are absent.

Comment thread be/src/exec/sink/writer/vtablet_writer.cpp Outdated
@hello-stephen

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

query5	4332	662	503	503
query6	462	216	218	216
query7	4876	585	338	338
query8	333	193	173	173
query9	8782	4032	4087	4032
query10	471	377	311	311
query11	5931	2369	2135	2135
query12	152	101	98	98
query13	1234	592	442	442
query14	6244	5323	4955	4955
query14_1	4322	4300	4291	4291
query15	213	201	175	175
query16	1028	461	451	451
query17	920	715	558	558
query18	2455	463	341	341
query19	202	181	144	144
query20	109	108	104	104
query21	233	161	132	132
query22	13643	13726	13359	13359
query23	17350	16570	16175	16175
query23_1	16348	16333	16302	16302
query24	7649	1843	1317	1317
query24_1	1324	1312	1306	1306
query25	567	465	400	400
query26	1346	355	208	208
query27	2606	590	391	391
query28	4495	2044	2014	2014
query29	1085	634	525	525
query30	341	267	227	227
query31	1116	1095	980	980
query32	120	64	63	63
query33	538	323	259	259
query34	1184	1147	648	648
query35	785	797	673	673
query36	1394	1389	1234	1234
query37	154	110	92	92
query38	1890	1713	1650	1650
query39	935	914	895	895
query39_1	886	884	909	884
query40	245	162	142	142
query41	71	68	69	68
query42	95	93	92	92
query43	323	323	285	285
query44	1471	780	777	777
query45	202	195	181	181
query46	1134	1238	750	750
query47	2398	2407	2235	2235
query48	407	436	313	313
query49	593	435	321	321
query50	1051	451	335	335
query51	10800	10637	10611	10611
query52	90	91	78	78
query53	272	302	208	208
query54	306	245	232	232
query55	80	77	68	68
query56	322	322	316	316
query57	1444	1417	1318	1318
query58	288	268	272	268
query59	1591	1638	1449	1449
query60	311	279	263	263
query61	209	149	142	142
query62	698	649	593	593
query63	248	207	202	202
query64	2789	1027	844	844
query65	4848	4804	4787	4787
query66	1857	526	378	378
query67	29536	29435	29285	29285
query68	3025	1640	963	963
query69	416	305	252	252
query70	1053	1003	978	978
query71	364	326	313	313
query72	3123	2729	2429	2429
query73	803	753	437	437
query74	5130	4979	4777	4777
query75	2628	2597	2224	2224
query76	2369	1186	818	818
query77	380	393	292	292
query78	12522	12289	11752	11752
query79	1387	1145	774	774
query80	869	531	458	458
query81	500	332	279	279
query82	566	159	128	128
query83	405	322	301	301
query84	331	162	129	129
query85	953	661	550	550
query86	411	298	286	286
query87	1834	1824	1753	1753
query88	3721	2779	2771	2771
query89	470	435	371	371
query90	1773	199	190	190
query91	200	190	166	166
query92	68	59	55	55
query93	1578	1547	916	916
query94	632	374	311	311
query95	793	491	481	481
query96	1082	843	328	328
query97	2695	2699	2579	2579
query98	220	209	229	209
query99	1161	1159	1029	1029
Total cold run time: 265342 ms
Total hot run time: 180008 ms

### What problem does this PR solve?

Issue Number: None

Problem Summary: Debug-point parameter lookups could consume an execute-limited point more than once, and the docker regression test could observe the existing backend-down path instead of proving process-epoch restart detection. Reuse the matched debug point parameters, keep the BE logically alive during restart, wait until FE observes a changed start time, and align table cleanup and naming with regression conventions.

### Release note

No user-visible behavior change beyond the backend-restart INSERT fix already described by this PR.

### Check List (For Author)

- Test: Not run per request; git diff --check passed.

- Behavior changed: No additional production behavior change.

- Does this need documentation: No.
@hello-stephen

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

query1	0.00	0.00	0.01
query2	0.10	0.06	0.05
query3	0.25	0.13	0.14
query4	1.61	0.15	0.14
query5	0.25	0.23	0.23
query6	1.27	1.07	1.09
query7	0.04	0.00	0.01
query8	0.06	0.04	0.03
query9	0.38	0.32	0.32
query10	0.59	0.57	0.54
query11	0.20	0.14	0.14
query12	0.20	0.15	0.14
query13	0.47	0.48	0.49
query14	1.02	1.02	1.00
query15	0.62	0.60	0.60
query16	0.32	0.34	0.32
query17	1.13	1.11	1.12
query18	0.22	0.20	0.22
query19	2.01	2.02	1.97
query20	0.02	0.00	0.01
query21	15.52	0.21	0.13
query22	4.99	0.06	0.05
query23	16.13	0.32	0.12
query24	2.92	0.42	0.33
query25	0.11	0.04	0.04
query26	0.71	0.21	0.15
query27	0.05	0.04	0.04
query28	3.53	0.91	0.53
query29	12.53	4.06	3.19
query30	0.28	0.15	0.15
query31	2.77	0.62	0.31
query32	3.23	0.59	0.49
query33	3.13	3.21	3.14
query34	15.61	4.28	3.52
query35	3.56	3.53	3.54
query36	0.55	0.43	0.43
query37	0.09	0.07	0.06
query38	0.05	0.04	0.04
query39	0.04	0.03	0.03
query40	0.17	0.15	0.16
query41	0.08	0.03	0.03
query42	0.05	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 96.9 s
Total hot run time: 24.99 s

@sollhui

sollhui commented Jul 13, 2026

Copy link
Copy Markdown
Contributor Author

run buildall

@sollhui

sollhui commented Jul 13, 2026

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.

I reviewed the updated diff after the prior comments. The load join health check now scans the full unfinished backend-fragment task set rather than only top fragments, and the process-epoch comparison is guarded so zero captured/current epochs remain compatible with upgrade/replay cases. The writer debug-point parameter reads now use the macro-provided dp, avoiding the execute-limited double lookup, and the docker regression test now synchronizes on the writer-close debug marker plus FE-observed alive restarted backend before asserting the epoch error.

I did not find a distinct new issue to raise.

Review focus: no additional user-provided focus was supplied.

Critical checkpoint conclusions:

  • Goal/test coverage: the PR addresses fail-fast detection for load fragments after BE restart; FE unit coverage and a docker regression are present.
  • Scope: the current change is focused on load join health checking, process-epoch compatibility, debug-point test support, and the regression.
  • Concurrency/lifecycle: load report/latch behavior and heartbeat epoch updates were reviewed; the full unfinished-task scan and coordinator status update appear consistent with the existing lifecycle.
  • Compatibility: zero process epochs are ignored on either side for upgrade/replay compatibility; no storage format or FE-BE protocol compatibility issue found.
  • Parallel paths: both VTabletWriter implementations use the same debug-point parameter pattern, and the load health check covers all backend-fragment tasks represented in the full latch.
  • Observability/performance: the new failure status includes backend and epoch values, and the debug log is gated by debug-point execution; no unresolved performance concern found.
  • Tests: test intent and regression standards look satisfied in the current diff.

Validation here was static review only; I did not run builds or tests in this review runner.

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17636	4131	4058	4058
q2	2021	319	203	203
q3	10282	1424	830	830
q4	4683	469	345	345
q5	7516	850	574	574
q6	179	173	139	139
q7	747	828	620	620
q8	9380	1431	1391	1391
q9	5597	4384	4398	4384
q10	6782	1785	1543	1543
q11	502	347	315	315
q12	705	540	427	427
q13	18048	3449	2782	2782
q14	269	270	249	249
q15	q16	780	774	716	716
q17	956	1058	1018	1018
q18	7072	5890	5515	5515
q19	1325	1299	1081	1081
q20	774	644	588	588
q21	5934	2752	2464	2464
q22	449	355	293	293
Total cold run time: 101637 ms
Total hot run time: 29535 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4381	4398	4358	4358
q2	290	325	219	219
q3	4690	5013	4437	4437
q4	2055	2170	1357	1357
q5	4455	4363	4355	4355
q6	232	175	130	130
q7	1728	1631	1462	1462
q8	2251	2000	1950	1950
q9	7299	7266	7299	7266
q10	4682	4635	4196	4196
q11	546	407	369	369
q12	734	752	542	542
q13	3100	3410	2841	2841
q14	287	298	257	257
q15	q16	698	704	614	614
q17	1318	1267	1258	1258
q18	7224	6719	6770	6719
q19	1144	1089	1095	1089
q20	2235	2222	1945	1945
q21	5295	4602	4422	4422
q22	527	477	420	420
Total cold run time: 55171 ms
Total hot run time: 50206 ms

@hello-stephen

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

query5	4345	634	492	492
query6	455	222	207	207
query7	4841	573	340	340
query8	340	204	170	170
query9	8780	4049	4085	4049
query10	480	342	281	281
query11	5930	2375	2191	2191
query12	163	103	106	103
query13	1256	620	446	446
query14	6291	5316	4962	4962
query14_1	4317	4296	4272	4272
query15	212	215	181	181
query16	1014	473	446	446
query17	967	730	602	602
query18	2449	496	350	350
query19	213	196	160	160
query20	119	114	111	111
query21	236	159	134	134
query22	13677	13678	13556	13556
query23	17469	16548	16228	16228
query23_1	16316	16202	16316	16202
query24	7567	1729	1314	1314
query24_1	1347	1323	1300	1300
query25	569	470	399	399
query26	1354	351	221	221
query27	2595	578	371	371
query28	4446	2019	2023	2019
query29	1069	628	508	508
query30	337	267	229	229
query31	1129	1102	997	997
query32	111	68	61	61
query33	537	324	260	260
query34	1199	1104	652	652
query35	769	772	693	693
query36	1400	1403	1239	1239
query37	156	110	106	106
query38	1883	1698	1714	1698
query39	946	917	891	891
query39_1	873	873	869	869
query40	250	158	136	136
query41	62	60	64	60
query42	92	93	97	93
query43	325	337	286	286
query44	1413	781	761	761
query45	200	194	185	185
query46	1054	1176	760	760
query47	2369	2331	2245	2245
query48	392	406	273	273
query49	582	421	319	319
query50	1102	421	334	334
query51	10796	10631	10333	10333
query52	86	84	74	74
query53	257	277	206	206
query54	276	232	231	231
query55	75	72	66	66
query56	299	297	262	262
query57	1458	1404	1320	1320
query58	273	266	257	257
query59	1589	1666	1475	1475
query60	315	265	247	247
query61	152	154	143	143
query62	691	644	588	588
query63	248	201	202	201
query64	2831	1052	830	830
query65	4872	4769	4753	4753
query66	1888	507	389	389
query67	29532	29447	29302	29302
query68	3268	1489	1011	1011
query69	399	313	269	269
query70	1081	956	959	956
query71	349	296	336	296
query72	3046	2667	2343	2343
query73	825	826	419	419
query74	5135	4966	4780	4780
query75	2628	2595	2216	2216
query76	2344	1202	779	779
query77	350	370	284	284
query78	12335	12163	11688	11688
query79	1474	1174	757	757
query80	1299	544	456	456
query81	531	328	277	277
query82	604	158	127	127
query83	365	324	294	294
query84	333	162	129	129
query85	968	593	506	506
query86	426	317	283	283
query87	1830	1813	1755	1755
query88	3711	2774	2797	2774
query89	460	404	361	361
query90	1963	203	195	195
query91	200	184	170	170
query92	64	60	57	57
query93	1767	1534	932	932
query94	723	357	307	307
query95	769	555	474	474
query96	1046	810	369	369
query97	2721	2691	2560	2560
query98	216	210	202	202
query99	1146	1196	1043	1043
Total cold run time: 266509 ms
Total hot run time: 180133 ms

@hello-stephen

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

query1	0.01	0.01	0.01
query2	0.10	0.05	0.05
query3	0.25	0.14	0.14
query4	1.61	0.14	0.14
query5	0.24	0.23	0.22
query6	1.26	1.08	1.34
query7	0.04	0.01	0.01
query8	0.05	0.04	0.04
query9	0.39	0.32	0.31
query10	0.56	0.55	0.58
query11	0.19	0.14	0.14
query12	0.19	0.16	0.14
query13	0.47	0.48	0.48
query14	1.02	1.01	0.99
query15	0.61	0.59	0.60
query16	0.33	0.32	0.32
query17	1.08	1.09	1.08
query18	0.24	0.23	0.23
query19	2.05	1.92	1.94
query20	0.02	0.01	0.01
query21	15.45	0.22	0.12
query22	4.83	0.05	0.05
query23	16.14	0.30	0.12
query24	2.95	0.43	0.30
query25	0.10	0.05	0.05
query26	0.75	0.20	0.15
query27	0.04	0.04	0.04
query28	3.54	0.94	0.54
query29	12.46	4.05	3.23
query30	0.28	0.15	0.15
query31	2.78	0.59	0.31
query32	3.23	0.60	0.48
query33	3.14	3.26	3.16
query34	15.64	4.28	3.55
query35	3.48	3.54	3.55
query36	0.56	0.44	0.43
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.04	0.03	0.03
query40	0.18	0.16	0.14
query41	0.09	0.04	0.03
query42	0.04	0.03	0.03
query43	0.04	0.04	0.04
Total cold run time: 96.61 s
Total hot run time: 25.03 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 64.29% (9/14) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 30.43% (7/23) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

BE UT Coverage Report

Increment line coverage 0.00% (0/6) 🎉

Increment coverage report
Complete coverage report

Category Coverage
Function Coverage 57.00% (23628/41456)
Line Coverage 40.68% (231212/568432)
Region Coverage 36.55% (182605/499590)
Branch Coverage 37.68% (81653/216726)

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

LGTM

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

Copy link
Copy Markdown
Contributor

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

@sollhui sollhui removed the dev/3.1.x label Jul 14, 2026
@sollhui sollhui merged commit 893108f into apache:master Jul 14, 2026
35 of 36 checks passed
@sollhui sollhui deleted the fix-doris-27086 branch July 14, 2026 03:31
github-actions Bot pushed a commit that referenced this pull request Jul 14, 2026
…65525)

### What problem does this PR solve?

Introduced by #41730

Nereids INSERT waits for fragment completion through LoadProcessor. The
backend health check only considered the alive flag, so a quickly
restarted backend could look healthy even though the old process could
no longer report fragment completion. Capture the backend process epoch
when fragment tasks are created, compare it while joining, and propagate
a precise restart error through the existing coordinator cancellation
path.
github-actions Bot pushed a commit that referenced this pull request Jul 14, 2026
…65525)

### What problem does this PR solve?

Introduced by #41730

Nereids INSERT waits for fragment completion through LoadProcessor. The
backend health check only considered the alive flag, so a quickly
restarted backend could look healthy even though the old process could
no longer report fragment completion. Capture the backend process epoch
when fragment tasks are created, compare it while joining, and propagate
a precise restart error through the existing coordinator cancellation
path.
yiguolei pushed a commit that referenced this pull request Jul 14, 2026
…ng insert #65525 (#65566)

Cherry-picked from #65525

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

Labels

approved Indicates a PR has been approved by one committer. dev/4.0.x dev/4.1.4-merged

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants