Skip to content

[draft](catalog) Master catalog spi 07 paimon#64445

Closed
morningman wants to merge 128 commits into
apache:masterfrom
morningman:master-catalog-spi-07-paimon
Closed

[draft](catalog) Master catalog spi 07 paimon#64445
morningman wants to merge 128 commits into
apache:masterfrom
morningman:master-catalog-spi-07-paimon

Conversation

@morningman

Copy link
Copy Markdown
Contributor

only for testing

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

@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17747	4362	4360	4360
q2	q3	10778	1470	816	816
q4	4678	493	352	352
q5	7559	893	578	578
q6	192	185	143	143
q7	784	846	624	624
q8	9330	1635	1563	1563
q9	5895	4494	4478	4478
q10	6758	1849	1525	1525
q11	435	271	247	247
q12	637	433	305	305
q13	18104	3558	2700	2700
q14	280	276	254	254
q15	q16	840	784	713	713
q17	947	930	1007	930
q18	7269	5843	5641	5641
q19	1293	1360	1081	1081
q20	525	417	277	277
q21	6360	2949	2740	2740
q22	471	396	348	348
Total cold run time: 100882 ms
Total hot run time: 29675 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	5517	5156	5201	5156
q2	q3	5064	5493	4791	4791
q4	2413	2453	1590	1590
q5	5027	5061	4961	4961
q6	259	190	137	137
q7	2006	1911	1700	1700
q8	2712	2336	2376	2336
q9	8242	7977	7652	7652
q10	4863	4835	4363	4363
q11	591	431	392	392
q12	810	802	593	593
q13	3025	3470	2811	2811
q14	287	288	273	273
q15	q16	721	727	638	638
q17	1306	1295	1291	1291
q18	7738	7152	6983	6983
q19	1162	1075	1109	1075
q20	2277	2276	1994	1994
q21	5598	4973	4829	4829
q22	552	496	433	433
Total cold run time: 60170 ms
Total hot run time: 53998 ms

@hello-stephen

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

query5	4318	625	462	462
query6	473	210	178	178
query7	4855	499	312	312
query8	360	217	201	201
query9	8775	4061	4023	4023
query10	442	310	256	256
query11	5903	2378	2210	2210
query12	158	107	114	107
query13	1266	605	437	437
query14	6397	5413	5048	5048
query14_1	4421	4402	4380	4380
query15	205	199	176	176
query16	973	436	459	436
query17	1134	702	588	588
query18	2500	474	338	338
query19	201	186	155	155
query20	110	110	107	107
query21	220	137	148	137
query22	13729	13662	13379	13379
query23	17338	16518	16153	16153
query23_1	16307	16181	16432	16181
query24	7609	1762	1312	1312
query24_1	1322	1290	1317	1290
query25	554	426	359	359
query26	1288	307	163	163
query27	2723	567	332	332
query28	4458	2050	2019	2019
query29	1025	594	468	468
query30	306	243	205	205
query31	1111	1065	951	951
query32	103	58	57	57
query33	516	303	242	242
query34	1196	1186	674	674
query35	736	758	679	679
query36	1405	1392	1233	1233
query37	153	103	91	91
query38	3209	3147	3051	3051
query39	938	908	892	892
query39_1	882	871	870	870
query40	217	119	97	97
query41	63	63	61	61
query42	94	94	91	91
query43	323	327	279	279
query44	
query45	196	183	177	177
query46	1027	1212	735	735
query47	2289	2341	2262	2262
query48	404	395	300	300
query49	608	450	349	349
query50	956	354	247	247
query51	4303	4261	4258	4258
query52	90	87	75	75
query53	233	263	188	188
query54	270	207	234	207
query55	78	73	68	68
query56	246	219	214	214
query57	1414	1406	1290	1290
query58	233	208	203	203
query59	1547	1670	1417	1417
query60	304	248	242	242
query61	175	175	171	171
query62	708	665	578	578
query63	231	189	197	189
query64	2592	815	653	653
query65	
query66	1791	468	354	354
query67	29719	29045	29616	29045
query68	
query69	428	310	269	269
query70	964	970	948	948
query71	313	226	218	218
query72	2883	2125	2330	2125
query73	812	789	435	435
query74	5148	4936	4748	4748
query75	2634	2564	2219	2219
query76	2345	1158	804	804
query77	350	376	278	278
query78	12374	12338	11926	11926
query79	1398	993	771	771
query80	708	473	374	374
query81	476	282	240	240
query82	553	155	120	120
query83	343	279	240	240
query84	
query85	864	495	444	444
query86	414	298	283	283
query87	3390	3338	3225	3225
query88	3622	2720	2713	2713
query89	429	376	327	327
query90	1813	180	177	177
query91	167	154	131	131
query92	62	59	58	58
query93	1421	1380	871	871
query94	607	343	324	324
query95	683	487	335	335
query96	1113	795	358	358
query97	2675	2673	2538	2538
query98	210	212	206	206
query99	1141	1177	1016	1016
Total cold run time: 250501 ms
Total hot run time: 168026 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 62.91% (687/1092) 🎉
Increment coverage report
Complete coverage report

@morningman morningman force-pushed the master-catalog-spi-07-paimon branch from af2037c to f7114a2 Compare June 12, 2026 14:23
@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17699	4052	3991	3991
q2	q3	10784	1392	806	806
q4	4678	468	339	339
q5	7529	851	579	579
q6	184	171	136	136
q7	770	846	612	612
q8	10226	1537	1610	1537
q9	7135	4482	4493	4482
q10	6768	1895	1528	1528
q11	437	268	258	258
q12	666	429	287	287
q13	18210	3293	2766	2766
q14	259	260	242	242
q15	q16	829	777	706	706
q17	975	990	943	943
q18	6919	5775	5617	5617
q19	1164	1323	1082	1082
q20	516	400	266	266
q21	5960	2696	2684	2684
q22	462	367	331	331
Total cold run time: 102170 ms
Total hot run time: 29192 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4862	4618	4668	4618
q2	q3	4904	5193	4651	4651
q4	2111	2193	1379	1379
q5	4861	4761	4717	4717
q6	234	178	127	127
q7	1853	1721	1560	1560
q8	2475	1987	1934	1934
q9	7308	7358	7379	7358
q10	4731	4684	4215	4215
q11	535	385	358	358
q12	724	735	520	520
q13	2979	3403	2796	2796
q14	272	272	241	241
q15	q16	677	694	618	618
q17	1278	1253	1249	1249
q18	7311	6844	6818	6818
q19	1099	1076	1065	1065
q20	2213	2224	1952	1952
q21	5203	4573	4428	4428
q22	529	465	403	403
Total cold run time: 56159 ms
Total hot run time: 51007 ms

@hello-stephen

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

query5	4339	623	471	471
query6	436	188	171	171
query7	4829	528	297	297
query8	359	212	193	193
query9	8733	4105	4093	4093
query10	429	309	248	248
query11	5998	2395	2134	2134
query12	156	104	97	97
query13	1287	602	416	416
query14	6404	5441	5095	5095
query14_1	4436	4438	4411	4411
query15	207	201	176	176
query16	1043	437	430	430
query17	1125	707	588	588
query18	2576	483	350	350
query19	199	191	144	144
query20	116	106	108	106
query21	216	137	118	118
query22	13659	13616	13365	13365
query23	17372	16497	16163	16163
query23_1	16226	16187	16297	16187
query24	7648	1770	1308	1308
query24_1	1314	1292	1329	1292
query25	544	429	360	360
query26	1340	318	160	160
query27	2631	567	336	336
query28	4451	2013	2022	2013
query29	1041	601	462	462
query30	307	242	193	193
query31	1117	1067	952	952
query32	106	61	59	59
query33	505	303	255	255
query34	1158	1151	669	669
query35	765	773	666	666
query36	1384	1369	1274	1274
query37	152	100	85	85
query38	3185	3148	3045	3045
query39	919	915	916	915
query39_1	874	869	902	869
query40	216	119	96	96
query41	63	60	61	60
query42	92	93	93	93
query43	330	320	282	282
query44	
query45	191	180	175	175
query46	1123	1213	748	748
query47	2333	2367	2214	2214
query48	366	430	276	276
query49	626	456	341	341
query50	1084	345	260	260
query51	4277	4324	4265	4265
query52	84	86	75	75
query53	234	256	187	187
query54	266	214	191	191
query55	78	80	68	68
query56	229	242	208	208
query57	1405	1383	1301	1301
query58	235	200	197	197
query59	1582	1644	1462	1462
query60	273	228	221	221
query61	151	152	147	147
query62	692	650	577	577
query63	239	183	192	183
query64	2506	750	594	594
query65	
query66	1792	457	336	336
query67	29701	29720	29509	29509
query68	
query69	432	307	260	260
query70	982	955	970	955
query71	310	221	209	209
query72	2847	2842	2411	2411
query73	839	797	447	447
query74	5116	4976	4747	4747
query75	2634	2579	2218	2218
query76	2327	1148	787	787
query77	352	369	275	275
query78	12306	12402	11764	11764
query79	1258	1018	748	748
query80	499	461	371	371
query81	449	277	238	238
query82	231	166	118	118
query83	264	265	241	241
query84	
query85	810	494	414	414
query86	341	294	284	284
query87	3382	3315	3249	3249
query88	3583	2726	2677	2677
query89	402	381	343	343
query90	2157	177	167	167
query91	168	163	132	132
query92	61	59	55	55
query93	1436	1485	952	952
query94	538	346	316	316
query95	677	447	328	328
query96	1056	840	354	354
query97	2685	2688	2560	2560
query98	209	208	204	204
query99	1138	1180	1025	1025
Total cold run time: 249686 ms
Total hot run time: 167905 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 39.47% (435/1102) 🎉
Increment coverage report
Complete coverage report

@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17772	4054	4027	4027
q2	q3	10737	1387	814	814
q4	4684	477	335	335
q5	7537	886	578	578
q6	179	165	134	134
q7	776	846	601	601
q8	9494	1553	1523	1523
q9	6506	4412	4434	4412
q10	6819	1806	1519	1519
q11	439	271	245	245
q12	633	424	294	294
q13	18151	3616	2743	2743
q14	264	251	234	234
q15	q16	816	763	699	699
q17	921	908	962	908
q18	6931	5677	5475	5475
q19	1533	1173	1037	1037
q20	516	413	261	261
q21	5855	2615	2361	2361
q22	428	355	310	310
Total cold run time: 100991 ms
Total hot run time: 28510 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4383	4237	4264	4237
q2	q3	4469	4944	4334	4334
q4	2053	2165	1338	1338
q5	4477	4279	4258	4258
q6	225	172	125	125
q7	1693	1624	1727	1624
q8	2597	2154	2137	2137
q9	7849	7968	7903	7903
q10	4774	4724	4276	4276
q11	573	443	392	392
q12	778	749	529	529
q13	3425	3492	2929	2929
q14	300	297	299	297
q15	q16	721	787	628	628
q17	1341	1296	1333	1296
q18	8474	7420	7172	7172
q19	1135	1113	1060	1060
q20	2208	2224	1928	1928
q21	5279	4562	4453	4453
q22	519	454	429	429
Total cold run time: 57273 ms
Total hot run time: 51345 ms

@hello-stephen

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

query5	4323	614	499	499
query6	433	186	170	170
query7	5205	594	311	311
query8	364	214	207	207
query9	8749	4096	4082	4082
query10	457	327	269	269
query11	5948	2357	2126	2126
query12	154	101	97	97
query13	1263	615	463	463
query14	6384	5432	5111	5111
query14_1	4442	4427	4410	4410
query15	208	198	184	184
query16	993	457	436	436
query17	1138	704	594	594
query18	2445	491	360	360
query19	210	187	143	143
query20	117	111	107	107
query21	218	139	116	116
query22	13600	13585	13397	13397
query23	17408	16495	16194	16194
query23_1	16341	16251	16228	16228
query24	7489	1784	1302	1302
query24_1	1328	1297	1282	1282
query25	541	444	374	374
query26	1307	290	161	161
query27	2715	572	320	320
query28	4419	1990	1995	1990
query29	1052	603	486	486
query30	304	237	194	194
query31	1120	1048	956	956
query32	102	58	56	56
query33	518	301	242	242
query34	1183	1168	652	652
query35	751	794	676	676
query36	1369	1389	1255	1255
query37	153	102	90	90
query38	3199	3116	3088	3088
query39	934	936	890	890
query39_1	874	886	864	864
query40	224	116	98	98
query41	61	59	61	59
query42	94	93	91	91
query43	314	318	275	275
query44	
query45	202	189	181	181
query46	1071	1205	721	721
query47	2329	2350	2255	2255
query48	363	416	286	286
query49	625	454	345	345
query50	1038	377	262	262
query51	4397	4307	4272	4272
query52	85	92	75	75
query53	238	269	193	193
query54	267	221	199	199
query55	77	73	68	68
query56	234	225	202	202
query57	1443	1395	1315	1315
query58	237	205	210	205
query59	1550	1618	1408	1408
query60	277	241	251	241
query61	146	139	147	139
query62	699	648	570	570
query63	224	182	182	182
query64	2519	757	595	595
query65	
query66	1804	441	345	345
query67	29920	29598	28860	28860
query68	
query69	424	302	268	268
query70	916	951	933	933
query71	298	217	209	209
query72	3005	2600	2357	2357
query73	881	799	442	442
query74	5134	4956	4780	4780
query75	2643	2552	2217	2217
query76	2303	1146	802	802
query77	343	359	294	294
query78	12255	12374	12004	12004
query79	1458	1031	732	732
query80	562	460	372	372
query81	454	276	245	245
query82	588	160	116	116
query83	353	275	246	246
query84	
query85	834	496	414	414
query86	366	302	279	279
query87	3413	3346	3186	3186
query88	3669	2759	2724	2724
query89	427	389	324	324
query90	1875	185	183	183
query91	173	168	133	133
query92	60	61	58	58
query93	1483	1509	841	841
query94	538	348	319	319
query95	680	375	443	375
query96	1050	807	336	336
query97	2683	2703	2564	2564
query98	211	204	202	202
query99	1141	1169	1044	1044
Total cold run time: 250642 ms
Total hot run time: 168080 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 62.40% (692/1109) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 13.07% (145/1109) 🎉
Increment coverage report
Complete coverage report

@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

1 similar comment
@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
orders	Doris	NULL	NULL	0	0	0	NULL	0	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	17680	4004	3962	3962
q2	q3	10769	1388	821	821
q4	4705	478	342	342
q5	7607	882	560	560
q6	194	167	137	137
q7	780	843	620	620
q8	9923	1502	1567	1502
q9	6747	4487	4452	4452
q10	6802	1816	1529	1529
q11	433	270	236	236
q12	645	427	288	288
q13	18091	3450	2787	2787
q14	270	254	240	240
q15	q16	813	770	705	705
q17	1727	1052	659	659
q18	6689	5652	5539	5539
q19	1469	1250	1132	1132
q20	498	391	267	267
q21	5673	2617	2198	2198
q22	424	349	296	296
Total cold run time: 101939 ms
Total hot run time: 28272 ms

----- Round 2, with runtime_filter_mode=off -----
orders	Doris	NULL	NULL	150000000	42	6422171781	NULL	22778155	NULL	NULL	2023-12-26 18:27:23	2023-12-26 18:42:55	NULL	utf-8	NULL	NULL	
============================================
q1	4314	4228	4236	4228
q2	q3	4467	4924	4318	4318
q4	2090	2157	1383	1383
q5	4377	4257	4264	4257
q6	226	174	127	127
q7	1727	1684	1827	1684
q8	2595	2197	2121	2121
q9	7810	7934	7833	7833
q10	4783	4719	4280	4280
q11	565	427	396	396
q12	743	764	546	546
q13	3339	3589	2936	2936
q14	322	307	303	303
q15	q16	745	793	633	633
q17	1358	1342	1344	1342
q18	7918	7182	6820	6820
q19	1119	1115	1051	1051
q20	2205	2206	1953	1953
q21	5264	4554	4487	4487
q22	504	447	391	391
Total cold run time: 56471 ms
Total hot run time: 51089 ms

@hello-stephen

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

query5	4302	608	486	486
query6	423	189	186	186
query7	4886	531	302	302
query8	348	216	199	199
query9	8778	4006	4059	4006
query10	436	333	252	252
query11	5842	2404	2145	2145
query12	156	103	97	97
query13	1243	630	413	413
query14	6352	5332	4995	4995
query14_1	4359	4444	4352	4352
query15	202	197	176	176
query16	1005	454	407	407
query17	1083	678	543	543
query18	2442	456	324	324
query19	196	175	135	135
query20	109	103	103	103
query21	209	133	115	115
query22	13576	13648	13359	13359
query23	17284	16526	16307	16307
query23_1	16434	16459	16310	16310
query24	7601	1726	1298	1298
query24_1	1312	1315	1273	1273
query25	559	425	352	352
query26	1289	301	165	165
query27	2691	541	334	334
query28	4460	1998	1988	1988
query29	1041	582	471	471
query30	301	230	196	196
query31	1110	1064	943	943
query32	103	62	54	54
query33	513	313	249	249
query34	1172	1128	649	649
query35	748	799	672	672
query36	1399	1396	1170	1170
query37	155	113	93	93
query38	3206	3125	3058	3058
query39	933	922	917	917
query39_1	883	872	872	872
query40	218	127	105	105
query41	69	69	67	67
query42	97	96	94	94
query43	317	317	274	274
query44	
query45	200	183	186	183
query46	1118	1201	753	753
query47	2350	2343	2206	2206
query48	414	422	308	308
query49	638	475	355	355
query50	947	354	262	262
query51	4360	4259	4256	4256
query52	88	91	82	82
query53	256	268	192	192
query54	284	232	210	210
query55	78	73	71	71
query56	255	248	229	229
query57	1426	1389	1331	1331
query58	250	225	224	224
query59	1565	1615	1407	1407
query60	302	254	244	244
query61	177	171	170	170
query62	690	648	578	578
query63	234	188	193	188
query64	2584	796	644	644
query65	
query66	1801	494	356	356
query67	29704	29612	29423	29423
query68	
query69	431	301	271	271
query70	989	972	1012	972
query71	302	233	212	212
query72	3011	2575	2291	2291
query73	865	736	451	451
query74	5090	4946	4755	4755
query75	2635	2562	2214	2214
query76	2307	1163	773	773
query77	348	371	286	286
query78	12378	12403	11909	11909
query79	1423	1024	775	775
query80	1292	455	382	382
query81	527	275	241	241
query82	651	161	121	121
query83	325	270	254	254
query84	
query85	873	489	437	437
query86	426	302	286	286
query87	3401	3332	3201	3201
query88	3614	2741	2722	2722
query89	421	376	333	333
query90	1894	186	181	181
query91	169	155	128	128
query92	63	60	57	57
query93	1569	1465	906	906
query94	706	343	285	285
query95	687	471	347	347
query96	1105	767	345	345
query97	2681	2661	2632	2632
query98	207	204	196	196
query99	1127	1178	1023	1023
Total cold run time: 251369 ms
Total hot run time: 168520 ms

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 62.40% (692/1109) 🎉
Increment coverage report
Complete coverage report

1 similar comment
@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 62.40% (692/1109) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 33.36% (370/1109) 🎉
Increment coverage report
Complete coverage report

morningman and others added 2 commits June 19, 2026 19:56
…ssloader, not TCCL

CI external 973270 (commit 13d3876): all 37 paimon-family tests failed at CREATE
CATALOG with 'No MetaStoreProvider supports the given properties; registered providers: []'.

Root cause: MetaStoreProviders.PROVIDERS is a static field loaded once via the 1-arg
ServiceLoader.load(MetaStoreProvider.class), which resolves against the thread-context
classloader. Its first touch is PaimonConnectorProvider.validateProperties at CREATE
CATALOG time, running on an FE worker thread whose TCCL is the FE app loader. fe-core
does not depend on fe-connector-metastore-spi, so the 5 providers and their
META-INF/services file live only inside the connector plugin's child classloader; the
lookup finds nothing and caches an empty list process-wide, so every paimon CREATE
CATALOG fails. (The sibling PaimonConnector.createCatalogFromContext already pins the
TCCL for the same reason; the validation path did not.)

Fix: load via the 2-arg ServiceLoader.load(MetaStoreProvider.class,
MetaStoreProvider.class.getClassLoader()) — the interface's defining loader is the
plugin loader that has the service file and impls, independent of the caller's TCCL.

Tests: fe-connector-metastore-spi 44/0/0, checkstyle 0. The classloader behavior is
single-classpath-invisible (1-arg and 2-arg both pass in surefire); real gate is the
P2-T05 docker plugin-layout regression (enablePaimonTest=true).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…aining = paimon pom + gate

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 15.50% (193/1245) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17895	4074	4027	4027
q2	1989	327	179	179
q3	10325	1388	813	813
q4	4679	470	336	336
q5	7520	834	578	578
q6	182	171	135	135
q7	760	846	636	636
q8	9371	1639	1731	1639
q9	6308	4470	4470	4470
q10	6777	1782	1482	1482
q11	445	271	241	241
q12	637	419	300	300
q13	18108	3319	2683	2683
q14	263	258	243	243
q15	q16	776	781	706	706
q17	985	938	1031	938
q18	7152	5816	5418	5418
q19	1576	1204	1095	1095
q20	504	420	256	256
q21	5940	2608	2383	2383
q22	432	354	302	302
Total cold run time: 102624 ms
Total hot run time: 28860 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4401	4293	4268	4268
q2	341	344	215	215
q3	4562	5049	4416	4416
q4	2044	2137	1381	1381
q5	4383	4262	4308	4262
q6	230	178	128	128
q7	1752	1836	1737	1737
q8	2486	2189	2116	2116
q9	8006	7952	7936	7936
q10	4790	4740	4371	4371
q11	579	424	385	385
q12	741	757	545	545
q13	3501	3574	2979	2979
q14	322	323	286	286
q15	q16	712	740	656	656
q17	1379	1328	1326	1326
q18	8065	7237	6769	6769
q19	1089	1112	1103	1103
q20	2202	2196	1933	1933
q21	5321	4581	4428	4428
q22	523	455	420	420
Total cold run time: 57429 ms
Total hot run time: 51660 ms

@hello-stephen

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

query5	4335	639	497	497
query6	441	194	171	171
query7	4915	553	306	306
query8	370	206	210	206
query9	8743	3984	3971	3971
query10	449	311	251	251
query11	5901	2325	2153	2153
query12	162	100	99	99
query13	1249	630	420	420
query14	6411	5398	5075	5075
query14_1	4339	4364	4318	4318
query15	201	195	172	172
query16	999	450	416	416
query17	1089	688	543	543
query18	2426	470	327	327
query19	190	172	134	134
query20	107	103	104	103
query21	210	133	114	114
query22	13896	13804	13574	13574
query23	17330	16462	16172	16172
query23_1	16218	16299	16166	16166
query24	7553	1781	1312	1312
query24_1	1304	1312	1311	1311
query25	541	431	386	386
query26	1305	323	169	169
query27	2683	557	337	337
query28	4493	2022	2000	2000
query29	1061	622	519	519
query30	314	240	202	202
query31	1123	1081	958	958
query32	102	62	60	60
query33	530	326	260	260
query34	1185	1126	679	679
query35	755	804	677	677
query36	1375	1399	1276	1276
query37	156	102	95	95
query38	3158	3136	3046	3046
query39	938	923	880	880
query39_1	876	898	878	878
query40	221	126	104	104
query41	68	66	66	66
query42	98	96	94	94
query43	317	320	276	276
query44	1429	788	779	779
query45	195	192	182	182
query46	1046	1186	762	762
query47	2424	2366	2294	2294
query48	410	434	306	306
query49	645	486	365	365
query50	1007	370	272	272
query51	4366	4358	4235	4235
query52	89	89	80	80
query53	251	264	196	196
query54	274	224	201	201
query55	80	75	75	75
query56	247	243	229	229
query57	1418	1418	1304	1304
query58	242	227	219	219
query59	1562	1639	1394	1394
query60	278	248	240	240
query61	173	166	169	166
query62	708	644	594	594
query63	237	194	194	194
query64	2567	739	589	589
query65	4885	4731	4773	4731
query66	1792	451	335	335
query67	29704	29707	29570	29570
query68	3257	1595	994	994
query69	424	294	269	269
query70	1054	944	953	944
query71	295	231	216	216
query72	2949	2596	2371	2371
query73	865	806	415	415
query74	5101	4938	4744	4744
query75	2611	2638	2225	2225
query76	2336	1175	790	790
query77	350	373	287	287
query78	12354	12454	11857	11857
query79	1368	1169	755	755
query80	1284	480	386	386
query81	507	279	234	234
query82	576	163	119	119
query83	321	291	247	247
query84	261	148	111	111
query85	898	504	425	425
query86	424	286	281	281
query87	3385	3335	3145	3145
query88	3694	2793	2758	2758
query89	413	380	328	328
query90	2005	171	178	171
query91	172	160	129	129
query92	63	59	56	56
query93	1478	1515	899	899
query94	725	364	297	297
query95	690	371	426	371
query96	1058	826	357	357
query97	2699	2698	2552	2552
query98	216	207	198	198
query99	1173	1165	1045	1045
Total cold run time: 261385 ms
Total hot run time: 176568 ms

@hello-stephen

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

query1	0.01	0.01	0.01
query2	0.10	0.06	0.05
query3	0.25	0.13	0.13
query4	1.61	0.14	0.14
query5	0.25	0.22	0.21
query6	1.23	1.06	1.08
query7	0.04	0.01	0.00
query8	0.06	0.04	0.04
query9	0.37	0.31	0.31
query10	0.56	0.56	0.58
query11	0.20	0.14	0.14
query12	0.18	0.15	0.14
query13	0.47	0.46	0.46
query14	1.01	1.01	1.00
query15	0.61	0.59	0.59
query16	0.32	0.30	0.32
query17	1.13	1.10	1.12
query18	0.22	0.21	0.21
query19	2.02	1.96	1.94
query20	0.02	0.02	0.01
query21	15.42	0.25	0.13
query22	4.81	0.05	0.06
query23	16.11	0.30	0.12
query24	2.94	0.43	0.31
query25	0.12	0.05	0.05
query26	0.73	0.23	0.15
query27	0.04	0.04	0.04
query28	3.47	0.90	0.54
query29	12.48	4.40	3.45
query30	0.46	0.14	0.15
query31	2.78	0.59	0.31
query32	3.22	0.59	0.50
query33	3.18	3.35	3.24
query34	15.69	4.23	3.56
query35	3.55	3.51	3.53
query36	0.56	0.44	0.43
query37	0.10	0.06	0.07
query38	0.05	0.04	0.04
query39	0.04	0.04	0.03
query40	0.18	0.16	0.15
query41	0.08	0.03	0.03
query42	0.03	0.02	0.02
query43	0.04	0.03	0.03
Total cold run time: 96.74 s
Total hot run time: 25.29 s

morningman and others added 4 commits June 20, 2026 01:21
…n loader

- root cause: HiveMetaStoreClient.loadFilterHooks -> Configuration.getClass resolves
  metastore.filter.hook via the HiveConf's own classLoader field. assembleHiveConf's
  `new HiveConf()` captured the TCCL at construction (parent 'app' loader, before the
  plugin TCCL pin in createCatalogFromContext); under child-first plugin loading that
  resolved DefaultMetaStoreFilterHookImpl from the parent while MetaStoreFilterHook was
  child-loaded -> "class DefaultMetaStoreFilterHookImpl not MetaStoreFilterHook" ->
  paimon-over-HMS `create database` failed (test_create_paimon_table:44).
- solution: assembleHiveConf now calls hiveConf.setClassLoader(plugin loader), mirroring
  buildHadoopConfiguration:257. Single chokepoint -> covers both the hms and dlf flavors.
  Connector-local; fe-core stays connector-agnostic.
- tests: PaimonCatalogFactoryTest.assembleHiveConfPinsPluginClassLoaderNotTccl (installs a
  foreign TCCL, asserts the conf is pinned to the plugin loader; RED before / GREEN after).
  Full class 16/16 pass; module checkstyle clean. Real gate = docker enablePaimonTest=true.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
…ropped-catalog race)

- root cause: a concurrent CATALOG DROP leaves a PluginDrivenExternalCatalog with
  connector=null but objectCreated=true (onClose() nulls the transient connector but does
  not reset objectCreated, and dropCatalog calls onClose() directly, not
  resetToUninitialized). A stale mv_infos()/jobs() metadata scan iterates all MTMVs and
  reaches such a dropped catalog's related table; materializeLatest() dereferenced the null
  connector -> NPE that aborted the whole metadata query, failing the unrelated
  test_mysql_mtmv (getJobName). Legacy onClose never nulled the field.
- solution: materializeLatest() returns a valid empty pin (snapshot id -1, empty partition
  maps) when getConnector() is null, mirroring the existing dropped-table (no-handle) branch.
  Connector-agnostic; getConnector()'s contract unchanged; cannot mask a real init failure
  (initLocalObjectsImpl throws when it cannot build a connector on a healthy catalog).
- tests: PluginDrivenMvccExternalTableTest.testMaterializeLatestNullConnectorDegradesToEmptyPin
  (null-connector catalog -> loadSnapshot returns the empty pin; the RED run threw the exact
  production NPE). Full class 36/36; fe-core checkstyle clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
…n (no p_NULL dup)

- root cause: on the paimon null_partition table (genuine NULL + string 'null' + string
  'NULL' + 'bj'), the branch's IS-NULL-prune fix marks a genuine-null partition isNull=true,
  so PartitionInfo.toPartitionValue renders it as the bare keyword "NULL" -> MTMV partition
  name "p_NULL", colliding with the literal string 'NULL' partition (also p_NULL) ->
  "Duplicated named partition: p_NULL" on CREATE MATERIALIZED VIEW partition by(region).
  Master kept isNull=false so genuine-null got a distinct name.
- solution: ListPartitionItem.toPartitionKeyDesc (both overloads) now substitutes the key's
  originHiveKeys sentinel (e.g. __HIVE_DEFAULT_PARTITION__) as the DISPLAY value for a
  genuine-null partition while keeping isNull=true. getValue() stays a NullLiteral so IS NULL
  pruning is unaffected; only the rendered name changes -> genuine-null becomes
  p_HIVEDEFAULTPARTITION (distinct). Connector-agnostic; MTMV-only blast radius (OLAP
  partitions have empty originHiveKeys -> no-op). Also closes the same latent collision for hive.
- tests: new ListPartitionItemTest (genuine-null vs string-'NULL' produce distinct names and
  the null key still resolves to a NullLiteral; OLAP null partition unaffected). The RED run
  reproduced "expected: not equal but was: <p_NULL>". 2/2 GREEN; MTMVPartitionUtilTest 10/10
  (no regression); fe-core checkstyle clean.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
…schema TTL)

The SPI migration split the legacy single meta.cache.paimon.table.ttl-second knob (which
covered BOTH the data snapshot AND the schema) and dropped the data cache, so
test_paimon_table_meta_cache failed on two assertions: the with-cache catalog saw an external
INSERT immediately (data), and the no-cache catalog served stale schema.

Axis A (data snapshot):
- new PaimonLatestSnapshotCache on the per-catalog PaimonConnector: TTL cache of the latest
  snapshot id keyed by Identifier(db,table), sized by meta.cache.paimon.table.ttl-second
  (legacy default 86400; <=0 disables -> always live = the no-cache catalog), access-based
  expiry. Injected into PaimonConnectorMetadata (new 5-arg ctor; the 3/4-arg ctors get a
  disabled cache so existing direct-construction tests are unchanged).
- beginQuerySnapshot serves the id through the cache (live read only on a miss). The pinned id
  reaches the scan via applySnapshot -> scan.snapshot-id -> resolveScanTable Table.copy, so an
  external write after the pin is invisible until expiry/refresh.
- new Connector.invalidateTable/invalidateAll SPI default no-ops; PaimonConnector overrides
  them; RefreshManager.refreshTableInternal invalidates any PluginDrivenExternalCatalog's
  connector (keyed by REMOTE names). REFRESH CATALOG already rebuilds the connector.

Axis B (schema TTL):
- new Connector.schemaCacheTtlSecondOverride() SPI default empty; PaimonConnector returns
  meta.cache.paimon.table.ttl-second when set.
- new generic ExternalCatalog.overlayMetaCacheConfig hook (no-op); PluginDrivenExternalCatalog
  overrides it to set schema.cache.ttl-second from the connector override (user value wins);
  ExternalMetaCacheMgr.findCatalogProperties applies it to its EPHEMERAL property copy (no
  SHOW CREATE leak). REFRESH TABLE already invalidates the schema cache entry. So the no-cache
  catalog (ttl-second=0) serves fresh schema.

fe-core stays connector-agnostic (virtual dispatch; base no-ops). ttl-second removed from the
PaimonConnectorProvider "dead keys" warning (it again takes effect); enable/capacity remain
not-wired (still reported ignored).

tests: PaimonLatestSnapshotCacheTest 5/5 (cache within TTL / ttl=0 bypass / invalidate /
expiry via injected clock), PaimonConnectorCacheTest 4/4 (schemaCacheTtlSecondOverride mapping);
regression PaimonConnectorMetadataMvccTest 40/40, ValidateProperties 14/14, fe-core compiles +
PluginDrivenMvccExternalTableTest 36/36 + ListPartitionItemTest 2/2; checkstyle clean across
the 3 touched modules. Cross-query data cache + schema TTL + refresh are gated by the docker
e2e (enablePaimonTest=true rerun of test_paimon_table_meta_cache).

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17797	4099	4007	4007
q2	1991	320	186	186
q3	10351	1384	810	810
q4	4689	471	337	337
q5	7571	858	578	578
q6	200	163	132	132
q7	752	844	622	622
q8	9919	1612	1635	1612
q9	6129	4459	4478	4459
q10	6776	1794	1533	1533
q11	443	269	237	237
q12	666	418	292	292
q13	18194	3307	2779	2779
q14	265	257	235	235
q15	q16	782	769	705	705
q17	1057	1059	869	869
q18	6868	5683	5461	5461
q19	1305	1262	1085	1085
q20	487	390	265	265
q21	5902	2555	2326	2326
q22	428	355	307	307
Total cold run time: 102572 ms
Total hot run time: 28837 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4326	4263	4256	4256
q2	327	357	221	221
q3	4612	4977	4408	4408
q4	2022	2124	1374	1374
q5	4399	4278	4334	4278
q6	231	171	126	126
q7	1744	1684	1874	1684
q8	2507	2211	2147	2147
q9	8080	7849	7960	7849
q10	4772	4690	4322	4322
q11	583	433	403	403
q12	736	755	536	536
q13	3463	3617	3033	3033
q14	302	327	262	262
q15	q16	760	758	653	653
q17	1373	1290	1324	1290
q18	7969	7442	6991	6991
q19	1093	1110	1140	1110
q20	2225	2219	1935	1935
q21	5236	4557	4489	4489
q22	516	440	407	407
Total cold run time: 57276 ms
Total hot run time: 51774 ms

@hello-stephen

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

query5	4354	616	469	469
query6	434	187	176	176
query7	4805	567	308	308
query8	353	205	212	205
query9	8784	3999	4023	3999
query10	442	316	258	258
query11	5901	2351	2164	2164
query12	151	100	98	98
query13	1248	601	439	439
query14	6454	5359	5136	5136
query14_1	4386	4383	4391	4383
query15	204	197	184	184
query16	1022	454	382	382
query17	1086	674	551	551
query18	2667	475	337	337
query19	189	174	136	136
query20	112	104	108	104
query21	222	132	112	112
query22	13658	13678	13407	13407
query23	17177	16487	16062	16062
query23_1	16357	16261	16215	16215
query24	7536	1762	1305	1305
query24_1	1267	1298	1313	1298
query25	518	436	362	362
query26	1295	304	168	168
query27	2685	561	337	337
query28	4519	2071	2018	2018
query29	1056	607	458	458
query30	301	233	197	197
query31	1142	1087	989	989
query32	104	61	62	61
query33	514	314	269	269
query34	1187	1172	686	686
query35	769	813	675	675
query36	1448	1418	1274	1274
query37	152	106	93	93
query38	3226	3143	3017	3017
query39	924	919	896	896
query39_1	893	883	862	862
query40	226	136	106	106
query41	69	67	72	67
query42	97	96	95	95
query43	325	323	282	282
query44	1410	779	768	768
query45	196	189	181	181
query46	1118	1182	741	741
query47	2367	2343	2292	2292
query48	421	407	303	303
query49	638	472	361	361
query50	957	359	256	256
query51	4339	4285	4376	4285
query52	90	88	82	82
query53	253	264	192	192
query54	290	235	210	210
query55	81	76	71	71
query56	253	243	222	222
query57	1452	1432	1328	1328
query58	260	226	220	220
query59	1578	1648	1431	1431
query60	308	260	231	231
query61	176	171	173	171
query62	697	653	596	596
query63	223	192	202	192
query64	2550	823	677	677
query65	4899	4770	4737	4737
query66	1762	464	328	328
query67	29707	29630	29424	29424
query68	3093	1528	997	997
query69	414	301	255	255
query70	1090	939	950	939
query71	296	227	212	212
query72	2868	2590	2316	2316
query73	845	793	436	436
query74	5121	4959	4764	4764
query75	2599	2578	2218	2218
query76	2310	1175	792	792
query77	336	371	286	286
query78	12426	12357	11931	11931
query79	1400	1198	762	762
query80	1297	501	381	381
query81	530	276	242	242
query82	646	153	118	118
query83	308	272	250	250
query84	261	140	109	109
query85	928	520	415	415
query86	435	317	285	285
query87	3378	3294	3187	3187
query88	3668	2750	2744	2744
query89	425	371	330	330
query90	1892	180	176	176
query91	168	166	131	131
query92	62	58	56	56
query93	1591	1546	980	980
query94	704	329	270	270
query95	646	372	429	372
query96	1143	798	381	381
query97	2694	2707	2585	2585
query98	216	206	197	197
query99	1167	1151	1052	1052
Total cold run time: 261537 ms
Total hot run time: 175071 ms

@hello-stephen

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

query1	0.01	0.00	0.00
query2	0.09	0.05	0.05
query3	0.25	0.14	0.14
query4	1.61	0.14	0.13
query5	0.25	0.22	0.22
query6	1.26	1.07	1.07
query7	0.04	0.00	0.02
query8	0.05	0.03	0.04
query9	0.38	0.31	0.32
query10	0.56	0.59	0.56
query11	0.19	0.14	0.15
query12	0.18	0.15	0.14
query13	0.48	0.49	0.46
query14	1.02	1.02	0.98
query15	0.61	0.59	0.65
query16	0.33	0.33	0.32
query17	1.16	1.12	1.13
query18	0.24	0.22	0.22
query19	2.01	1.93	1.94
query20	0.01	0.02	0.01
query21	15.42	0.21	0.13
query22	4.92	0.05	0.05
query23	16.14	0.31	0.13
query24	2.90	0.42	0.31
query25	0.10	0.04	0.06
query26	0.76	0.22	0.15
query27	0.04	0.04	0.03
query28	3.49	0.95	0.54
query29	12.52	4.34	3.46
query30	0.28	0.14	0.17
query31	2.77	0.58	0.32
query32	3.21	0.60	0.49
query33	3.19	3.22	3.22
query34	15.62	4.19	3.51
query35	3.56	3.51	3.48
query36	0.55	0.43	0.42
query37	0.08	0.07	0.07
query38	0.05	0.03	0.03
query39	0.04	0.03	0.03
query40	0.17	0.16	0.15
query41	0.08	0.03	0.03
query42	0.03	0.03	0.03
query43	0.04	0.04	0.03
Total cold run time: 96.69 s
Total hot run time: 25.21 s

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 16.20% (207/1278) 🎉
Increment coverage report
Complete coverage report

…(revert FIX-3)

Verification run for 973411's FIX-1..4. FIX-1/FIX-2 held; FIX-3 was itself a
regression and FIX-4 did not fix its target. Two root causes, four failing
suites (all test .out byte-identical to master -> master is the spec).

Root causes:
- FIX-3 (26a8ecd) patched only the genuine-null partition DISPLAY name on the
  SHARED ListPartitionItem.toPartitionKeyDesc. It never touched the MTMV refresh
  predicate (so test_paimon_mtmv still failed, now 5 rows vs master's 3), and it
  renamed hive's default partition p_NULL -> p_HIVEDEFAULTPARTITION, breaking
  test_hive_default_mtmv (asserts p_NULL) and test_upgrade_downgrade_mtmv (the
  MTMV.calculatePartitionMappings join needs both sides to render symmetrically).
- The paimon bridge marked genuine-null isNull=true (1b0ae1e), coupling two
  opposite needs through one flag: WHERE IS NULL prune wants true, MTMV refresh
  wants false (master PaimonUtil uses isNull=false unconditionally and loses the
  null data; IS NULL still works via the predicate-driven scan).
- test_paimon_table_meta_cache: the SPI routes the latest schema through the
  generic name-keyed schema cache (no schemaId) whose TTL spec is frozen at first
  build (AbstractExternalMetaCache.initCatalog computeIfAbsent), so ttl-second=0
  cannot bust it after an external ALTER -> stale schema.

Fix (master parity; unit-tested, checkstyle clean; docker e2e still gated):
- A1 revert FIX-3: ListPartitionItem.java restored byte-identical to master;
  ListPartitionItemTest now asserts the master p_NULL rendering.
- A2 paimon bridge PluginDrivenMvccExternalTable.toListPartitionItem ->
  new PartitionValue(value, false), matching master PaimonUtil. The genuine-null
  MTMV partition is a StringLiteral sentinel (no p_NULL collision) and its refresh
  IN-predicate drops the null rows (3 rows, master parity).
- A3 new connector capability ConnectorScanPlanProvider.ignorePartitionPruneShort
  Circuit() (default false; PaimonScanPlanProvider -> true), consulted by
  PluginDrivenScanNode.resolveRequiredPartitions: a predicate-driven connector
  maps a prune-to-zero to scan-all instead of the empty short-circuit. Required
  so WHERE col IS NULL still returns the genuine-null row under isNull=false
  (qt_null_partition_4) -- the branch short-circuits empty pruned sets where
  master's PaimonScanNode re-plans from the pushed predicate.
- B PluginDrivenMvccExternalTable.getLatestSchemaCacheValue: when the connector
  disables its schema cache (schemaCacheTtlSecondOverride <= 0, the no-cache
  catalog) read the schema FRESH via initSchema(), bypassing the frozen name-keyed
  cache; the cached catalog keeps the cached path. Restores master's single-knob
  meta.cache.paimon.table.ttl-second=0 -> always-fresh-schema.

Docker gate (enablePaimonTest/enableHiveTest=true): test_paimon_mtmv->3 rows;
qt_null_partition_4->`1 \N 100.0` (must stay green); test_hive_default_mtmv->
p_NULL; test_upgrade_downgrade_mtmv->sync true; test_paimon_table_meta_cache->
no-cache desc 3 cols.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 60.72% (776/1278) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 18.31% (234/1278) 🎉
Increment coverage report
Complete coverage report

…r (not cached rowType)

The last failing test of 973480 (test_paimon_table_meta_cache:112): a no-cache
catalog (meta.cache.paimon.table.ttl-second=0) returns 2 columns instead of 3
after an external ALTER TABLE ADD COLUMNS. 16b6255's "Fix B" bypassed the FE
schema cache (initSchema) but the bypass still read a stale schema, so the test
kept failing.

Root cause (master test .out is the spec): the connector's LATEST schema path read
table.rowType(). paimon's CatalogFactory.createCatalog wraps a CachingCatalog
(cache.enabled defaults true), so catalog.getTable() returns a cached Table whose
rowType() is FROZEN at load time; only latestSnapshot()/schemaManager() read files
fresh. That is why the no-cache DATA path was fresh (snapshot re-read) while the
SCHEMA path was stale. An ALTER ADD COLUMNS bumps the schema file (new schema id)
WITHOUT a new snapshot, so the latest snapshot's schemaId also stays behind — only
schemaManager().latest() advances. Legacy PaimonExternalTable read the latest schema
via schemaManager().latest() (never rowType()); the SPI cutover regressed to rowType().

Fix (connector-local, master parity): PaimonConnectorMetadata.getTableSchema (latest
path) reads the latest schema FRESH via a new PaimonCatalogOps.latestSchema seam
(((DataTable) table).schemaManager().latest()) for a non-system data table; partition
and primary keys come from that resolved schema too. Dual guard: system tables
(isSystemTable()) keep their synthetic rowType() — some are not DataTable
($snapshots/$manifests) and the DataTable-backed ones ($ro/$audit_log/$binlog) need
the synthetic schema; a non-DataTable backend (FormatTable) / schema-less table ->
latestSchema empty -> fall back to rowType(). This also fixes the with-cache REFRESH
assertion (line 117): REFRESH busts the FE schema cache but not the paimon
CachingCatalog, so only schemaManager().latest() reflects the external change.

TDD: RED getTableSchemaReadsLatestSchemaNotCachedRowType (expected 3 but was 2, same
symptom as CI) -> GREEN; plus sys-table guard + empty-latest fallback tests. Paimon
module 318/0/0 (1 live-connectivity skip), checkstyle 0. e2e docker-gated
(enablePaimonTest=true) NOT run.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_011mTrPcvMZtFjsxWJM5TRnG
@morningman

Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen

Copy link
Copy Markdown
Contributor

FE Regression Coverage Report

Increment line coverage 15.81% (202/1278) 🎉
Increment coverage report
Complete coverage report

@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17827	4263	4069	4069
q2	1999	300	193	193
q3	10353	1440	834	834
q4	4684	464	338	338
q5	7509	850	573	573
q6	204	179	143	143
q7	778	853	616	616
q8	10041	1655	1595	1595
q9	6339	4525	4492	4492
q10	6809	1772	1495	1495
q11	438	271	247	247
q12	646	424	301	301
q13	18134	3471	2757	2757
q14	274	264	249	249
q15	q16	784	784	708	708
q17	925	853	881	853
q18	6736	5824	5710	5710
q19	1303	1277	1096	1096
q20	492	406	257	257
q21	5930	2653	2390	2390
q22	439	353	295	295
Total cold run time: 102644 ms
Total hot run time: 29211 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4427	4348	4319	4319
q2	342	361	233	233
q3	4626	4882	4401	4401
q4	2062	2122	1403	1403
q5	4426	4307	4320	4307
q6	223	176	129	129
q7	1748	2120	1688	1688
q8	2473	2176	2174	2174
q9	8002	8030	7954	7954
q10	4775	4773	4352	4352
q11	595	425	376	376
q12	927	767	547	547
q13	3292	3600	2988	2988
q14	295	315	282	282
q15	q16	732	754	643	643
q17	1358	1379	1393	1379
q18	8228	7358	6941	6941
q19	1138	1092	1082	1082
q20	2230	2197	1945	1945
q21	5295	4610	4552	4552
q22	509	453	417	417
Total cold run time: 57703 ms
Total hot run time: 52112 ms

@hello-stephen

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

query5	4324	613	468	468
query6	438	185	165	165
query7	4805	556	296	296
query8	355	206	205	205
query9	8726	4024	4089	4024
query10	447	299	251	251
query11	5886	2350	2155	2155
query12	153	100	95	95
query13	1289	585	432	432
query14	6388	5426	5054	5054
query14_1	4392	4422	4400	4400
query15	210	197	175	175
query16	986	473	431	431
query17	1060	695	582	582
query18	2443	484	353	353
query19	197	185	147	147
query20	112	109	106	106
query21	211	141	126	126
query22	13785	13526	13542	13526
query23	17401	16422	16170	16170
query23_1	16237	16250	16245	16245
query24	7803	1812	1321	1321
query24_1	1281	1302	1346	1302
query25	574	459	409	409
query26	1312	313	167	167
query27	2664	562	361	361
query28	4466	2048	2027	2027
query29	1102	615	506	506
query30	314	253	199	199
query31	1101	1079	969	969
query32	107	62	59	59
query33	542	320	260	260
query34	1189	1156	654	654
query35	752	796	683	683
query36	1390	1395	1232	1232
query37	145	96	82	82
query38	3215	3221	3102	3102
query39	951	958	926	926
query39_1	921	911	919	911
query40	211	119	99	99
query41	64	61	59	59
query42	94	93	97	93
query43	331	331	279	279
query44	1499	804	807	804
query45	197	188	181	181
query46	1086	1203	750	750
query47	2328	2339	2230	2230
query48	401	401	294	294
query49	616	455	339	339
query50	973	333	258	258
query51	4390	4386	4223	4223
query52	86	84	75	75
query53	256	256	197	197
query54	251	206	187	187
query55	78	74	70	70
query56	230	225	204	204
query57	1410	1405	1332	1332
query58	227	205	207	205
query59	1513	1591	1407	1407
query60	275	244	224	224
query61	148	140	162	140
query62	710	648	587	587
query63	225	190	196	190
query64	2508	741	582	582
query65	4859	4740	4799	4740
query66	1792	462	321	321
query67	30030	29655	29438	29438
query68	3109	1568	993	993
query69	447	296	264	264
query70	1076	915	926	915
query71	279	234	211	211
query72	2967	2574	2303	2303
query73	853	784	444	444
query74	5110	4966	4802	4802
query75	2622	2591	2238	2238
query76	2347	1181	790	790
query77	353	378	277	277
query78	12509	12485	11862	11862
query79	1395	1164	793	793
query80	1272	476	385	385
query81	501	281	238	238
query82	565	159	129	129
query83	320	282	236	236
query84	283	142	114	114
query85	878	492	404	404
query86	427	310	294	294
query87	3375	3359	3212	3212
query88	3740	2786	2764	2764
query89	420	370	341	341
query90	2019	183	180	180
query91	169	157	127	127
query92	61	61	56	56
query93	1567	1446	955	955
query94	703	356	303	303
query95	686	385	342	342
query96	1049	817	368	368
query97	2701	2682	2577	2577
query98	216	203	201	201
query99	1162	1136	1021	1021
Total cold run time: 262096 ms
Total hot run time: 175280 ms

@hello-stephen

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

query1	0.01	0.00	0.01
query2	0.09	0.04	0.04
query3	0.25	0.13	0.14
query4	1.61	0.13	0.13
query5	0.24	0.23	0.23
query6	1.28	1.06	1.12
query7	0.04	0.01	0.00
query8	0.09	0.03	0.03
query9	0.41	0.31	0.31
query10	0.57	0.58	0.57
query11	0.18	0.14	0.14
query12	0.18	0.14	0.14
query13	0.46	0.47	0.47
query14	1.01	1.01	1.02
query15	0.61	0.59	0.61
query16	0.32	0.33	0.32
query17	1.13	1.11	1.14
query18	0.24	0.22	0.22
query19	2.02	1.97	1.98
query20	0.02	0.01	0.02
query21	16.25	0.22	0.12
query22	4.86	0.05	0.05
query23	16.14	0.30	0.12
query24	2.90	0.43	0.32
query25	0.11	0.05	0.05
query26	0.71	0.20	0.15
query27	0.05	0.03	0.04
query28	3.59	0.91	0.53
query29	12.59	4.33	3.47
query30	0.27	0.14	0.15
query31	2.77	0.59	0.32
query32	3.22	0.60	0.49
query33	3.23	3.23	3.31
query34	15.44	4.19	3.56
query35	3.55	3.53	3.51
query36	0.54	0.43	0.45
query37	0.09	0.06	0.06
query38	0.05	0.04	0.03
query39	0.03	0.02	0.02
query40	0.18	0.16	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: 97.49 s
Total hot run time: 25.35 s

@morningman morningman closed this Jun 20, 2026
@hello-stephen

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

------ Round 1 ----------------------------------
============================================
q1	17711	3954	3949	3949
q2	2033	314	187	187
q3	10304	1437	818	818
q4	4678	460	333	333
q5	7539	844	574	574
q6	179	164	136	136
q7	778	836	624	624
q8	9353	1687	1605	1605
q9	5796	4557	4514	4514
q10	6777	1814	1522	1522
q11	436	265	245	245
q12	626	431	290	290
q13	18123	3478	2746	2746
q14	262	257	244	244
q15	q16	788	779	707	707
q17	1022	966	891	891
q18	7159	5825	5540	5540
q19	1374	1281	1089	1089
q20	492	399	266	266
q21	5882	2582	2415	2415
q22	443	358	302	302
Total cold run time: 101755 ms
Total hot run time: 28997 ms

----- Round 2, with runtime_filter_mode=off -----
============================================
q1	4314	4233	4234	4233
q2	332	341	220	220
q3	4545	4923	4421	4421
q4	2022	2134	1372	1372
q5	4435	4303	4309	4303
q6	232	176	129	129
q7	1849	1619	1888	1619
q8	2692	2208	2158	2158
q9	8107	8315	7991	7991
q10	4818	4752	4282	4282
q11	564	421	402	402
q12	800	776	558	558
q13	3300	3551	2999	2999
q14	291	297	269	269
q15	q16	721	739	618	618
q17	1338	1326	1326	1326
q18	8253	7402	7243	7243
q19	1184	1079	1072	1072
q20	2211	2201	1920	1920
q21	5234	4550	4422	4422
q22	509	477	409	409
Total cold run time: 57751 ms
Total hot run time: 51966 ms

@hello-stephen

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

query5	4330	634	476	476
query6	442	185	168	168
query7	4857	582	307	307
query8	360	211	196	196
query9	8766	4058	4069	4058
query10	452	304	247	247
query11	5899	2353	2156	2156
query12	161	99	95	95
query13	1231	586	422	422
query14	6350	5369	5030	5030
query14_1	4381	4350	4388	4350
query15	204	195	172	172
query16	965	454	409	409
query17	913	675	559	559
query18	2439	446	329	329
query19	193	178	140	140
query20	114	103	104	103
query21	213	128	113	113
query22	13625	13639	13345	13345
query23	17385	16499	16183	16183
query23_1	16263	16296	16264	16264
query24	7459	1765	1293	1293
query24_1	1292	1273	1296	1273
query25	537	428	375	375
query26	1283	307	161	161
query27	2704	533	327	327
query28	4480	2033	2035	2033
query29	1044	610	468	468
query30	311	234	197	197
query31	1125	1070	936	936
query32	108	61	57	57
query33	514	306	234	234
query34	1193	1122	637	637
query35	744	784	683	683
query36	1425	1428	1244	1244
query37	154	108	97	97
query38	3193	3099	3093	3093
query39	947	913	908	908
query39_1	868	872	863	863
query40	217	123	103	103
query41	70	67	64	64
query42	95	95	96	95
query43	320	325	275	275
query44	1420	790	780	780
query45	200	202	182	182
query46	1071	1202	723	723
query47	2357	2356	2261	2261
query48	437	421	293	293
query49	652	472	364	364
query50	1009	350	273	273
query51	4337	4252	4225	4225
query52	88	89	80	80
query53	243	276	188	188
query54	281	235	213	213
query55	82	77	70	70
query56	266	230	217	217
query57	1422	1410	1361	1361
query58	251	225	206	206
query59	1594	1682	1413	1413
query60	294	256	243	243
query61	174	178	172	172
query62	706	649	590	590
query63	237	190	193	190
query64	2601	845	588	588
query65	4844	4817	4778	4778
query66	1819	445	332	332
query67	29704	29625	28887	28887
query68	3221	1558	898	898
query69	400	305	269	269
query70	1050	964	981	964
query71	290	228	202	202
query72	2936	2598	2406	2406
query73	856	772	421	421
query74	5109	4969	4724	4724
query75	2633	2605	2212	2212
query76	2367	1175	795	795
query77	351	378	291	291
query78	12418	12458	11885	11885
query79	1852	1173	783	783
query80	1267	480	376	376
query81	519	277	233	233
query82	580	153	117	117
query83	322	272	248	248
query84	304	142	115	115
query85	893	527	408	408
query86	424	291	285	285
query87	3376	3315	3115	3115
query88	3709	2799	2776	2776
query89	423	379	332	332
query90	1922	172	176	172
query91	169	160	153	153
query92	59	63	57	57
query93	1607	1535	843	843
query94	713	349	308	308
query95	684	456	337	337
query96	1068	783	347	347
query97	2716	2691	2576	2576
query98	213	227	198	198
query99	1179	1163	1030	1030
Total cold run time: 261638 ms
Total hot run time: 175568 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 8f65cddccfee916f70ee303b262cabbc15f98cec, data reload: false

query1	0.01	0.01	0.00
query2	0.10	0.05	0.04
query3	0.25	0.14	0.13
query4	1.61	0.14	0.14
query5	0.24	0.22	0.22
query6	1.25	1.06	1.03
query7	0.03	0.00	0.00
query8	0.06	0.04	0.04
query9	0.37	0.31	0.31
query10	0.54	0.54	0.57
query11	0.19	0.13	0.13
query12	0.18	0.15	0.14
query13	0.47	0.47	0.48
query14	1.02	1.00	0.99
query15	0.61	0.59	0.59
query16	0.29	0.33	0.33
query17	1.10	1.05	1.06
query18	0.22	0.21	0.20
query19	2.11	1.96	1.84
query20	0.02	0.01	0.01
query21	15.43	0.18	0.15
query22	5.00	0.05	0.05
query23	16.15	0.30	0.12
query24	2.97	0.40	0.33
query25	0.11	0.05	0.04
query26	0.73	0.20	0.15
query27	0.04	0.04	0.04
query28	3.58	0.93	0.54
query29	12.49	4.31	3.48
query30	0.28	0.17	0.15
query31	2.77	0.60	0.31
query32	3.22	0.60	0.48
query33	3.18	3.23	3.20
query34	15.82	4.22	3.53
query35	3.56	3.52	3.56
query36	0.56	0.44	0.42
query37	0.08	0.06	0.07
query38	0.06	0.04	0.03
query39	0.03	0.03	0.03
query40	0.18	0.16	0.16
query41	0.08	0.03	0.03
query42	0.04	0.03	0.03
query43	0.05	0.03	0.03
Total cold run time: 97.08 s
Total hot run time: 25.08 s

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants