Skip to content

Conversation

@liutang123
Copy link
Contributor

@liutang123 liutang123 commented Oct 11, 2025

What problem does this PR solve?

Related PR: #33591
cherry-pick from #46088
This PR can also resolve #56786

Problem Summary:

when CTEAnchoer not exists in plan, cost based rewrite job could not get correct cost from applied cbo rewrite rule plan.

What problem does this PR solve?

Issue Number: close #xxx

Related PR: #xxx

Problem Summary:

Release note

None

Check List (For Author)

  • Test

    • Regression test
    • Unit Test
    • Manual test (add detailed scripts or steps below)
    • No need to test or manual test. Explain why:
      • This is a refactor/code format and no logic has been changed.
      • Previous test can cover this change.
      • No code files have been changed.
      • Other reason
  • Behavior changed:

    • No.
    • Yes.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

  • Confirm the release note
  • Confirm test cases
  • Confirm document
  • Add branch pick label

### What problem does this PR solve?

Related PR: apache#33591

Problem Summary:

when CTEAnchoer not exists in plan, cost based rewrite job could not get
correct cost from applied cbo rewrite rule plan.
@hello-stephen
Copy link
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?

@liutang123
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17601	6980	6595	6595
q2	2047	226	184	184
q3	10572	1147	1147	1147
q4	10485	714	731	714
q5	7769	2867	2800	2800
q6	210	134	137	134
q7	968	622	607	607
q8	9367	1984	2071	1984
q9	6699	6406	6392	6392
q10	6982	2252	2272	2252
q11	471	265	267	265
q12	405	213	215	213
q13	17803	2978	2979	2978
q14	229	215	203	203
q15	505	459	463	459
q16	482	381	375	375
q17	1012	525	565	525
q18	7347	6692	6621	6621
q19	1400	1104	1019	1019
q20	499	196	195	195
q21	3992	3218	3170	3170
q22	1096	995	1012	995
Total cold run time: 107941 ms
Total hot run time: 39827 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6689	6569	6564	6564
q2	337	233	233	233
q3	2902	2965	2917	2917
q4	2069	1811	1819	1811
q5	5755	5723	5741	5723
q6	210	132	133	132
q7	2276	1800	1809	1800
q8	3386	3534	3602	3534
q9	8887	8961	8879	8879
q10	3578	3552	3511	3511
q11	598	500	511	500
q12	835	606	615	606
q13	8206	3263	3142	3142
q14	319	275	276	275
q15	520	476	485	476
q16	510	445	463	445
q17	1918	1666	1614	1614
q18	8507	7974	7937	7937
q19	1714	1567	1615	1567
q20	2080	1842	1900	1842
q21	5273	5096	5022	5022
q22	1138	1070	1006	1006
Total cold run time: 67707 ms
Total hot run time: 59536 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 192090 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 c7ad867c8f52b2fa49e9b96d86566fa570626445, data reload: false

query1	959	399	399	399
query2	6251	2027	1941	1941
query3	8689	201	196	196
query4	33681	23638	23640	23638
query5	3735	470	433	433
query6	279	191	174	174
query7	4220	314	318	314
query8	265	219	203	203
query9	9531	2600	2582	2582
query10	482	286	263	263
query11	17952	15470	15255	15255
query12	159	106	102	102
query13	1559	424	418	418
query14	10049	6636	6780	6636
query15	260	170	180	170
query16	8035	469	515	469
query17	1577	612	584	584
query18	2228	324	336	324
query19	307	166	171	166
query20	125	120	119	119
query21	207	112	110	110
query22	4633	4636	4332	4332
query23	35208	34563	33846	33846
query24	11472	2825	2912	2825
query25	660	423	439	423
query26	1367	180	176	176
query27	2374	354	364	354
query28	7136	2144	2164	2144
query29	882	455	458	455
query30	281	166	173	166
query31	1040	814	815	814
query32	98	60	63	60
query33	808	300	325	300
query34	960	501	508	501
query35	937	724	742	724
query36	1129	951	958	951
query37	129	69	70	69
query38	4149	4003	4001	4001
query39	1525	1503	1503	1503
query40	205	106	112	106
query41	51	52	53	52
query42	111	100	101	100
query43	545	478	489	478
query44	1336	834	827	827
query45	187	168	169	168
query46	1156	733	726	726
query47	2023	1915	1913	1913
query48	481	409	397	397
query49	996	367	374	367
query50	825	421	424	421
query51	7439	7313	7219	7219
query52	104	88	103	88
query53	266	186	186	186
query54	1285	480	468	468
query55	79	77	83	77
query56	277	270	254	254
query57	1339	1212	1212	1212
query58	231	214	221	214
query59	3231	3153	3175	3153
query60	291	277	264	264
query61	123	119	117	117
query62	866	722	710	710
query63	240	212	195	195
query64	4046	696	654	654
query65	3373	3322	3303	3303
query66	1248	311	304	304
query67	16152	15559	15492	15492
query68	4772	576	575	575
query69	447	274	283	274
query70	1193	1090	1089	1089
query71	354	264	266	264
query72	6351	4038	4067	4038
query73	762	346	361	346
query74	10302	9327	8982	8982
query75	3396	2647	2681	2647
query76	2732	1140	1007	1007
query77	380	277	279	277
query78	10587	9691	9483	9483
query79	1713	605	602	602
query80	1001	441	425	425
query81	569	223	223	223
query82	617	89	87	87
query83	243	140	143	140
query84	241	78	73	73
query85	1318	313	304	304
query86	427	307	309	307
query87	4456	4231	4281	4231
query88	3591	2408	2368	2368
query89	419	293	293	293
query90	1970	186	185	185
query91	188	151	157	151
query92	72	52	57	52
query93	2080	555	553	553
query94	870	303	297	297
query95	356	259	250	250
query96	616	286	288	286
query97	3414	3191	3168	3168
query98	213	204	201	201
query99	1507	1319	1307	1307
Total cold run time: 301001 ms
Total hot run time: 192090 ms

@doris-robot
Copy link

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

query1	0.04	0.03	0.02
query2	0.07	0.03	0.03
query3	0.23	0.06	0.06
query4	1.63	0.11	0.10
query5	0.50	0.51	0.53
query6	1.15	0.73	0.73
query7	0.02	0.02	0.01
query8	0.04	0.03	0.04
query9	0.59	0.50	0.52
query10	0.55	0.55	0.57
query11	0.15	0.10	0.10
query12	0.13	0.11	0.10
query13	0.61	0.60	0.58
query14	0.80	0.79	0.78
query15	0.84	0.82	0.82
query16	0.37	0.38	0.39
query17	1.03	0.98	1.04
query18	0.24	0.22	0.23
query19	1.94	1.82	1.88
query20	0.01	0.01	0.02
query21	15.40	0.59	0.59
query22	1.98	2.51	1.36
query23	16.97	1.01	0.89
query24	3.34	1.57	1.52
query25	0.19	0.24	0.07
query26	0.39	0.14	0.14
query27	0.05	0.04	0.04
query28	9.19	0.53	0.45
query29	12.67	3.23	3.22
query30	0.25	0.06	0.06
query31	2.84	0.38	0.37
query32	3.26	0.46	0.45
query33	3.00	3.02	3.03
query34	17.21	4.49	4.49
query35	4.53	4.50	4.58
query36	0.67	0.48	0.48
query37	0.08	0.06	0.06
query38	0.05	0.03	0.03
query39	0.03	0.02	0.02
query40	0.16	0.12	0.12
query41	0.08	0.02	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 103.35 s
Total hot run time: 30.28 s

@liutang123
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17594	6930	6653	6653
q2	2043	192	164	164
q3	10579	1134	1189	1134
q4	10222	748	700	700
q5	7725	2826	2677	2677
q6	208	128	130	128
q7	953	606	607	606
q8	9366	1929	1997	1929
q9	6646	6422	6378	6378
q10	7032	2234	2286	2234
q11	456	266	267	266
q12	426	212	205	205
q13	17807	2993	2979	2979
q14	237	209	206	206
q15	506	456	457	456
q16	488	377	367	367
q17	967	565	550	550
q18	7197	6578	6717	6578
q19	1412	1064	1097	1064
q20	469	196	197	196
q21	3812	3056	3268	3056
q22	1093	958	980	958
Total cold run time: 107238 ms
Total hot run time: 39484 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6592	6542	6564	6542
q2	329	230	238	230
q3	2832	2901	2885	2885
q4	2034	1788	1828	1788
q5	5730	5798	5805	5798
q6	206	132	133	132
q7	2241	1862	1869	1862
q8	3451	3622	3609	3609
q9	8903	9009	9108	9009
q10	3593	3572	3562	3562
q11	599	500	498	498
q12	802	603	637	603
q13	11176	3200	3147	3147
q14	299	271	279	271
q15	514	470	467	467
q16	481	440	443	440
q17	1830	1618	1600	1600
q18	8272	7772	7833	7772
q19	1640	1459	1527	1459
q20	2038	1823	1843	1823
q21	5149	4970	5047	4970
q22	1149	1036	1017	1017
Total cold run time: 69860 ms
Total hot run time: 59484 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 192460 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 6e8bfca8b5f851f6a815f19b512090761bedb5ab, data reload: false

query1	937	404	389	389
query2	6257	1919	1936	1919
query3	8681	196	192	192
query4	33336	23662	23389	23389
query5	3468	467	444	444
query6	281	185	177	177
query7	4218	308	307	307
query8	251	197	200	197
query9	9385	2589	2582	2582
query10	467	269	259	259
query11	17854	15239	15084	15084
query12	161	101	101	101
query13	1562	440	431	431
query14	8700	7675	7124	7124
query15	257	173	176	173
query16	8085	472	498	472
query17	1674	621	593	593
query18	2143	326	326	326
query19	379	163	177	163
query20	125	118	124	118
query21	207	119	113	113
query22	4734	4571	4481	4481
query23	35296	34229	34108	34108
query24	11172	2958	2918	2918
query25	665	432	433	432
query26	1253	175	172	172
query27	2551	365	368	365
query28	7234	2168	2175	2168
query29	883	477	563	477
query30	269	165	160	160
query31	1050	812	823	812
query32	97	56	58	56
query33	762	305	344	305
query34	966	534	508	508
query35	848	734	721	721
query36	1140	950	954	950
query37	134	68	65	65
query38	4172	3972	3946	3946
query39	1545	1464	1495	1464
query40	199	99	100	99
query41	49	46	47	46
query42	117	100	102	100
query43	533	487	495	487
query44	1322	831	822	822
query45	181	175	167	167
query46	1175	759	757	757
query47	2068	1905	1990	1905
query48	476	376	387	376
query49	1062	374	375	374
query50	833	431	421	421
query51	7575	7300	7353	7300
query52	101	89	89	89
query53	268	183	186	183
query54	1237	470	472	470
query55	81	79	79	79
query56	250	256	234	234
query57	1352	1215	1204	1204
query58	241	222	230	222
query59	3215	3090	3128	3090
query60	277	272	278	272
query61	113	110	112	110
query62	843	709	680	680
query63	232	194	191	191
query64	4404	726	636	636
query65	3357	3285	3317	3285
query66	972	302	309	302
query67	16023	15771	15474	15474
query68	4774	572	580	572
query69	454	270	265	265
query70	1195	1084	1110	1084
query71	342	248	252	248
query72	6281	3997	4139	3997
query73	771	356	362	356
query74	10177	9107	9356	9107
query75	3404	2660	2652	2652
query76	2671	1023	1077	1023
query77	399	275	274	274
query78	10619	9625	9490	9490
query79	2037	613	600	600
query80	1175	428	445	428
query81	554	218	220	218
query82	611	88	85	85
query83	231	140	153	140
query84	230	84	77	77
query85	1381	314	288	288
query86	458	295	291	291
query87	4374	4210	4300	4210
query88	3570	2407	2388	2388
query89	401	295	292	292
query90	1866	183	180	180
query91	187	154	148	148
query92	67	48	49	48
query93	2520	556	562	556
query94	835	295	285	285
query95	362	252	249	249
query96	618	278	278	278
query97	3329	3127	3153	3127
query98	223	206	203	203
query99	1515	1265	1278	1265
Total cold run time: 299386 ms
Total hot run time: 192460 ms

@doris-robot
Copy link

ClickBench: Total hot run time: 29.09 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 6e8bfca8b5f851f6a815f19b512090761bedb5ab, data reload: false

query1	0.03	0.03	0.04
query2	0.07	0.03	0.03
query3	0.23	0.06	0.06
query4	1.63	0.12	0.11
query5	0.53	0.53	0.52
query6	1.13	0.74	0.73
query7	0.02	0.01	0.01
query8	0.04	0.03	0.03
query9	0.59	0.50	0.52
query10	0.54	0.54	0.55
query11	0.14	0.11	0.11
query12	0.14	0.11	0.10
query13	0.61	0.60	0.59
query14	0.76	0.80	0.77
query15	0.83	0.84	0.82
query16	0.40	0.38	0.37
query17	1.06	1.05	1.02
query18	0.24	0.23	0.22
query19	1.86	1.89	1.83
query20	0.01	0.02	0.01
query21	15.40	0.59	0.57
query22	2.47	1.72	1.35
query23	16.92	0.96	0.66
query24	3.44	0.49	0.68
query25	0.12	0.09	0.08
query26	0.38	0.13	0.14
query27	0.05	0.04	0.04
query28	10.98	0.51	0.44
query29	12.55	3.22	3.21
query30	0.24	0.06	0.06
query31	2.86	0.39	0.37
query32	3.25	0.46	0.46
query33	2.95	3.02	3.04
query34	16.93	4.47	4.52
query35	4.56	4.58	4.57
query36	0.68	0.47	0.48
query37	0.09	0.06	0.06
query38	0.04	0.03	0.03
query39	0.04	0.02	0.03
query40	0.15	0.12	0.13
query41	0.08	0.02	0.02
query42	0.04	0.02	0.02
query43	0.03	0.03	0.03
Total cold run time: 105.11 s
Total hot run time: 29.09 s

@liutang123
Copy link
Contributor Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17654	7106	6715	6715
q2	2065	212	173	173
q3	10559	1147	1171	1147
q4	10533	720	768	720
q5	7737	2860	2820	2820
q6	213	132	132	132
q7	957	612	599	599
q8	9353	1980	1963	1963
q9	6639	6375	6386	6375
q10	7053	2282	2310	2282
q11	464	258	255	255
q12	399	206	212	206
q13	17790	3005	2994	2994
q14	235	207	218	207
q15	506	466	457	457
q16	465	373	383	373
q17	988	586	590	586
q18	7212	6604	6599	6599
q19	1427	1075	1056	1056
q20	482	196	205	196
q21	3893	3235	3367	3235
q22	1036	1011	998	998
Total cold run time: 107660 ms
Total hot run time: 40088 ms

----- Round 2, with runtime_filter_mode=off -----
q1	6698	6563	6586	6563
q2	333	244	236	236
q3	2951	2963	2914	2914
q4	2066	1808	1830	1808
q5	5733	5761	5717	5717
q6	230	132	130	130
q7	2251	1751	1823	1751
q8	3367	3516	3545	3516
q9	8781	8903	8839	8839
q10	3561	3499	3555	3499
q11	594	491	490	490
q12	843	615	596	596
q13	10327	3214	3184	3184
q14	304	275	261	261
q15	529	455	467	455
q16	495	425	441	425
q17	1864	1645	1636	1636
q18	8208	7841	7590	7590
q19	1706	1539	1515	1515
q20	2066	1809	1854	1809
q21	5328	5035	5079	5035
q22	1145	1087	1006	1006
Total cold run time: 69380 ms
Total hot run time: 58975 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 193341 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 771735e0d6838d857f3800d60800a4945f6f65a3, data reload: false

query1	945	385	374	374
query2	6237	1952	1960	1952
query3	8696	205	199	199
query4	33506	24041	23776	23776
query5	4325	459	466	459
query6	282	173	178	173
query7	4206	316	316	316
query8	278	195	208	195
query9	9367	2588	2589	2588
query10	484	265	274	265
query11	18281	15223	15149	15149
query12	160	102	103	102
query13	1554	426	425	425
query14	9391	7131	7084	7084
query15	246	171	181	171
query16	8099	545	531	531
query17	1616	594	581	581
query18	2168	322	324	322
query19	309	171	162	162
query20	120	115	116	115
query21	211	111	112	111
query22	4570	4413	4493	4413
query23	35053	34649	34217	34217
query24	10837	3056	2957	2957
query25	658	433	443	433
query26	1195	182	176	176
query27	2346	376	383	376
query28	7294	2173	2233	2173
query29	875	465	458	458
query30	268	165	171	165
query31	1074	855	838	838
query32	101	57	59	57
query33	777	309	319	309
query34	961	515	514	514
query35	880	730	721	721
query36	1099	950	956	950
query37	128	72	70	70
query38	4081	3997	4006	3997
query39	1540	1485	1671	1485
query40	203	103	101	101
query41	55	46	50	46
query42	119	102	104	102
query43	538	491	500	491
query44	1308	861	837	837
query45	185	169	170	169
query46	1189	766	727	727
query47	2007	1912	1917	1912
query48	471	416	400	400
query49	942	369	373	369
query50	849	471	411	411
query51	7274	7230	7199	7199
query52	104	89	99	89
query53	267	189	187	187
query54	1229	469	482	469
query55	78	79	82	79
query56	276	256	275	256
query57	1301	1195	1192	1192
query58	219	239	225	225
query59	3256	3013	3043	3013
query60	282	277	275	275
query61	115	107	114	107
query62	848	709	676	676
query63	220	198	202	198
query64	4448	686	667	667
query65	3357	3312	3320	3312
query66	775	304	304	304
query67	16281	15592	15585	15585
query68	4359	604	569	569
query69	443	262	262	262
query70	1164	1075	1086	1075
query71	351	268	260	260
query72	6292	4068	4005	4005
query73	764	355	352	352
query74	10459	9284	8929	8929
query75	3395	2719	2680	2680
query76	2811	1050	1125	1050
query77	376	271	272	271
query78	10533	9699	9619	9619
query79	2773	625	614	614
query80	1153	440	436	436
query81	545	221	219	219
query82	616	85	88	85
query83	228	140	148	140
query84	238	81	80	80
query85	1366	304	299	299
query86	453	294	283	283
query87	4372	4267	4335	4267
query88	4412	2370	2363	2363
query89	408	286	289	286
query90	1948	185	184	184
query91	189	153	149	149
query92	70	50	50	50
query93	2360	558	547	547
query94	859	298	299	298
query95	363	258	258	258
query96	622	275	276	275
query97	3314	3169	3164	3164
query98	222	204	199	199
query99	1518	1316	1319	1316
Total cold run time: 301390 ms
Total hot run time: 193341 ms

@liutang123
Copy link
Contributor Author

#56837 can fix this

@liutang123 liutang123 closed this Oct 15, 2025
@doris-robot
Copy link

ClickBench: Total hot run time: 29.7 s
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/clickbench-tools
ClickBench test result on commit 771735e0d6838d857f3800d60800a4945f6f65a3, data reload: false

query1	0.03	0.03	0.03
query2	0.06	0.03	0.03
query3	0.23	0.06	0.06
query4	1.63	0.10	0.10
query5	0.53	0.50	0.55
query6	1.15	0.73	0.75
query7	0.02	0.01	0.01
query8	0.05	0.03	0.04
query9	0.58	0.50	0.50
query10	0.55	0.56	0.55
query11	0.15	0.09	0.10
query12	0.14	0.11	0.10
query13	0.61	0.61	0.60
query14	0.77	0.81	0.80
query15	0.84	0.83	0.82
query16	0.39	0.38	0.40
query17	1.06	1.04	1.00
query18	0.22	0.23	0.22
query19	1.94	1.77	1.89
query20	0.02	0.02	0.01
query21	15.40	0.56	0.56
query22	2.39	2.74	1.36
query23	17.13	0.98	0.84
query24	3.44	0.95	1.06
query25	0.14	0.10	0.08
query26	0.53	0.14	0.13
query27	0.04	0.04	0.04
query28	10.09	0.54	0.47
query29	12.56	3.26	3.17
query30	0.25	0.06	0.05
query31	2.84	0.37	0.38
query32	3.27	0.46	0.46
query33	2.97	3.00	3.04
query34	17.18	4.62	4.55
query35	4.55	4.56	4.55
query36	0.67	0.48	0.48
query37	0.09	0.06	0.06
query38	0.05	0.03	0.03
query39	0.03	0.02	0.02
query40	0.17	0.13	0.13
query41	0.08	0.02	0.02
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 104.91 s
Total hot run time: 29.7 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 44.44% (4/9) 🎉
Increment coverage report
Complete coverage report

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