Skip to content

Conversation

@CalvinKirs
Copy link
Member

What problem does this PR solve?

Previously, HDFS High Availability (HA) configuration checks were only performed for the HMS catalog. This PR extends HA validation to all components that interact with HDFS, including:

  • All catalog types (HMS, Hive, Iceberg, etc.)
  • Table-valued functions (TVFs) accessing HDFS resources
  • Any future features that depend on HDFS HA

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

@Thearas
Copy link
Contributor

Thearas commented Sep 4, 2025

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?

@CalvinKirs
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17605	5253	5051	5051
q2	1999	318	207	207
q3	10264	1292	728	728
q4	10227	1030	523	523
q5	7537	2410	2381	2381
q6	201	173	142	142
q7	950	766	650	650
q8	9374	1355	1136	1136
q9	6984	5250	5164	5164
q10	6964	2394	1997	1997
q11	509	332	281	281
q12	372	369	231	231
q13	17793	3615	3099	3099
q14	237	236	222	222
q15	562	503	485	485
q16	431	431	391	391
q17	613	867	410	410
q18	7778	7063	6975	6975
q19	1566	984	575	575
q20	343	345	244	244
q21	3815	3243	2428	2428
q22	1052	1014	969	969
Total cold run time: 107176 ms
Total hot run time: 34289 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5230	5120	5144	5120
q2	263	333	231	231
q3	2171	2689	2317	2317
q4	1387	1801	1341	1341
q5	4251	4506	4487	4487
q6	224	179	131	131
q7	2034	1956	1860	1860
q8	2651	2640	2505	2505
q9	7267	7529	7365	7365
q10	3069	3515	2865	2865
q11	575	534	512	512
q12	689	766	654	654
q13	3569	3940	3371	3371
q14	295	306	277	277
q15	523	503	493	493
q16	489	489	472	472
q17	1184	1571	1449	1449
q18	8234	7679	7533	7533
q19	836	877	945	877
q20	2019	2002	1795	1795
q21	4723	4448	4257	4257
q22	1083	1036	1035	1035
Total cold run time: 52766 ms
Total hot run time: 50947 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186978 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 2b5897b30dbf02d02c111d1e4462887bc4b6cd71, data reload: false

query1	1069	465	415	415
query2	6550	1737	1741	1737
query3	6752	226	224	224
query4	26136	23243	22871	22871
query5	4426	679	532	532
query6	336	250	247	247
query7	4662	518	314	314
query8	324	283	257	257
query9	8677	2932	2942	2932
query10	501	368	299	299
query11	15889	15346	15182	15182
query12	186	126	117	117
query13	1688	577	436	436
query14	9873	5955	5791	5791
query15	220	199	183	183
query16	7702	682	451	451
query17	1247	770	665	665
query18	2055	456	356	356
query19	207	248	182	182
query20	136	125	123	123
query21	212	135	122	122
query22	3973	4122	3990	3990
query23	33956	32902	32879	32879
query24	8136	2407	2422	2407
query25	573	520	447	447
query26	1238	281	171	171
query27	2696	510	365	365
query28	4340	2275	2253	2253
query29	776	613	494	494
query30	294	216	198	198
query31	933	827	758	758
query32	94	83	82	82
query33	593	400	355	355
query34	809	881	542	542
query35	820	831	798	798
query36	984	1024	946	946
query37	118	110	91	91
query38	4036	4125	4023	4023
query39	1654	1423	1419	1419
query40	225	141	133	133
query41	70	91	61	61
query42	133	123	126	123
query43	542	510	500	500
query44	1336	874	864	864
query45	182	174	170	170
query46	863	1010	659	659
query47	1778	1804	1736	1736
query48	388	441	336	336
query49	759	505	412	412
query50	664	691	403	403
query51	4087	4265	4054	4054
query52	119	113	103	103
query53	250	270	206	206
query54	617	601	551	551
query55	98	91	99	91
query56	336	340	328	328
query57	1199	1182	1141	1141
query58	299	294	282	282
query59	2597	2720	2528	2528
query60	362	369	356	356
query61	174	175	158	158
query62	871	718	664	664
query63	234	202	212	202
query64	4576	1133	864	864
query65	4326	4259	4233	4233
query66	1091	444	346	346
query67	15472	15447	15268	15268
query68	8589	919	586	586
query69	493	336	302	302
query70	1279	1168	1120	1120
query71	570	343	330	330
query72	6021	5007	5393	5007
query73	779	696	361	361
query74	9286	9193	8806	8806
query75	3856	3091	2693	2693
query76	3735	1228	747	747
query77	800	410	352	352
query78	9599	9864	8801	8801
query79	2289	876	607	607
query80	644	592	539	539
query81	494	260	245	245
query82	465	143	115	115
query83	264	275	269	269
query84	256	120	102	102
query85	900	465	428	428
query86	397	332	304	304
query87	4335	4347	4106	4106
query88	3475	2251	2260	2251
query89	404	334	293	293
query90	1872	232	234	232
query91	209	161	138	138
query92	88	79	68	68
query93	1651	1011	658	658
query94	705	416	334	334
query95	423	339	341	339
query96	487	581	282	282
query97	2610	2705	2597	2597
query98	251	227	229	227
query99	1431	1439	1313	1313
Total cold run time: 277176 ms
Total hot run time: 186978 ms

@doris-robot
Copy link

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

query1	0.06	0.04	0.05
query2	0.09	0.05	0.05
query3	0.25	0.09	0.08
query4	1.61	0.12	0.11
query5	0.45	0.43	0.42
query6	1.19	0.67	0.65
query7	0.03	0.02	0.02
query8	0.05	0.05	0.05
query9	0.60	0.54	0.53
query10	0.59	0.58	0.58
query11	0.16	0.11	0.12
query12	0.16	0.12	0.13
query13	0.64	0.63	0.63
query14	0.81	0.83	0.86
query15	0.88	0.88	0.88
query16	0.39	0.42	0.41
query17	1.09	1.07	1.05
query18	0.22	0.20	0.20
query19	2.00	1.86	1.85
query20	0.02	0.02	0.02
query21	15.40	0.94	0.58
query22	0.75	1.10	0.67
query23	15.09	1.39	0.66
query24	6.71	1.58	1.25
query25	0.53	0.23	0.07
query26	0.42	0.17	0.13
query27	0.06	0.06	0.06
query28	10.46	0.94	0.43
query29	12.55	3.91	3.21
query30	3.08	3.04	2.96
query31	2.82	0.60	0.39
query32	3.24	0.56	0.49
query33	3.06	3.18	3.15
query34	16.12	5.52	4.87
query35	5.00	4.88	4.91
query36	0.68	0.53	0.51
query37	0.11	0.08	0.07
query38	0.07	0.05	0.04
query39	0.04	0.03	0.03
query40	0.19	0.16	0.14
query41	0.08	0.03	0.03
query42	0.04	0.03	0.03
query43	0.04	0.04	0.04
Total cold run time: 107.83 s
Total hot run time: 33.32 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 71.43% (30/42) 🎉
Increment coverage report
Complete coverage report

@CalvinKirs
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17649	5224	5066	5066
q2	2071	337	242	242
q3	10136	1272	737	737
q4	10222	1020	527	527
q5	7538	2423	2343	2343
q6	185	169	138	138
q7	895	764	664	664
q8	9336	1326	1137	1137
q9	6994	5119	5115	5115
q10	6953	2396	1989	1989
q11	497	297	305	297
q12	352	350	235	235
q13	17777	3639	3045	3045
q14	248	237	219	219
q15	576	501	491	491
q16	433	431	387	387
q17	613	852	375	375
q18	7452	7064	7139	7064
q19	1323	981	554	554
q20	335	341	226	226
q21	3729	2548	2329	2329
q22	1054	1040	971	971
Total cold run time: 106368 ms
Total hot run time: 34151 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5212	5139	5134	5134
q2	254	327	239	239
q3	2190	2665	2286	2286
q4	1319	1791	1298	1298
q5	4226	4236	4560	4236
q6	221	198	137	137
q7	2029	2026	1875	1875
q8	2613	2620	2518	2518
q9	7600	7364	7377	7364
q10	3161	3348	2901	2901
q11	586	522	512	512
q12	692	764	672	672
q13	3512	3958	3269	3269
q14	331	315	297	297
q15	534	488	477	477
q16	438	522	455	455
q17	1214	1548	1381	1381
q18	7831	7765	7870	7765
q19	784	865	931	865
q20	1990	2059	1899	1899
q21	4842	4328	4305	4305
q22	1091	1069	1019	1019
Total cold run time: 52670 ms
Total hot run time: 50904 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186671 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 10d59fca30526373564af0a520f981eedc579810, data reload: false

query1	1063	458	405	405
query2	6564	1744	1808	1744
query3	6753	229	220	220
query4	26206	23682	22893	22893
query5	4543	662	536	536
query6	357	265	248	248
query7	4690	542	319	319
query8	323	278	276	276
query9	8634	2876	2904	2876
query10	486	355	281	281
query11	15934	15349	14738	14738
query12	183	122	116	116
query13	1665	579	424	424
query14	9712	5848	5844	5844
query15	228	198	172	172
query16	7694	678	507	507
query17	1253	785	662	662
query18	2030	438	337	337
query19	207	200	176	176
query20	133	125	136	125
query21	216	132	113	113
query22	4047	4159	4015	4015
query23	33811	32981	33015	32981
query24	8147	2356	2422	2356
query25	580	520	461	461
query26	1240	277	168	168
query27	2728	519	354	354
query28	4362	2252	2228	2228
query29	779	602	528	528
query30	302	223	193	193
query31	929	833	737	737
query32	93	84	85	84
query33	585	409	370	370
query34	816	871	527	527
query35	832	829	791	791
query36	979	1010	956	956
query37	127	113	94	94
query38	4083	4015	4025	4015
query39	1493	1525	1417	1417
query40	236	142	134	134
query41	67	69	64	64
query42	128	117	117	117
query43	516	504	473	473
query44	1358	869	863	863
query45	185	176	175	175
query46	875	1017	646	646
query47	1775	1802	1732	1732
query48	389	442	325	325
query49	762	509	439	439
query50	649	712	419	419
query51	4199	4142	4135	4135
query52	120	116	104	104
query53	246	271	199	199
query54	614	607	539	539
query55	93	89	96	89
query56	343	338	322	322
query57	1212	1198	1150	1150
query58	298	284	279	279
query59	2599	2703	2571	2571
query60	380	374	367	367
query61	193	180	195	180
query62	829	747	656	656
query63	233	206	199	199
query64	4571	1217	834	834
query65	4326	4224	4193	4193
query66	1097	435	345	345
query67	15563	15326	15443	15326
query68	8586	983	581	581
query69	488	319	296	296
query70	1275	1160	1193	1160
query71	570	349	332	332
query72	5828	4993	5148	4993
query73	768	644	367	367
query74	8932	8857	9034	8857
query75	3970	3097	2632	2632
query76	3694	1257	742	742
query77	833	410	347	347
query78	9588	10065	8836	8836
query79	1347	854	592	592
query80	663	589	522	522
query81	482	258	222	222
query82	246	141	118	118
query83	273	269	248	248
query84	260	115	89	89
query85	862	476	450	450
query86	347	340	311	311
query87	4367	4324	4218	4218
query88	2813	2226	2218	2218
query89	390	347	296	296
query90	2077	236	231	231
query91	164	167	133	133
query92	90	76	76	76
query93	1112	992	647	647
query94	689	425	321	321
query95	417	329	323	323
query96	488	598	286	286
query97	2657	2715	2560	2560
query98	237	219	213	213
query99	1422	1472	1292	1292
Total cold run time: 274598 ms
Total hot run time: 186671 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.06
query2	0.10	0.05	0.05
query3	0.25	0.09	0.08
query4	1.61	0.11	0.11
query5	0.45	0.42	0.44
query6	1.17	0.64	0.65
query7	0.03	0.04	0.03
query8	0.06	0.05	0.05
query9	0.62	0.54	0.53
query10	0.58	0.58	0.59
query11	0.16	0.12	0.11
query12	0.16	0.13	0.12
query13	0.63	0.62	0.62
query14	0.79	0.84	0.83
query15	0.88	0.85	0.86
query16	0.39	0.40	0.42
query17	1.05	1.06	1.05
query18	0.21	0.20	0.20
query19	1.87	1.84	1.86
query20	0.01	0.01	0.02
query21	15.41	0.96	0.59
query22	0.79	1.19	0.91
query23	14.76	1.42	0.64
query24	6.53	1.18	0.58
query25	0.46	0.18	0.17
query26	0.57	0.15	0.13
query27	0.06	0.05	0.05
query28	10.08	0.93	0.43
query29	12.65	3.84	3.23
query30	3.10	3.03	2.97
query31	2.82	0.58	0.39
query32	3.24	0.56	0.48
query33	3.03	3.06	3.15
query34	16.16	5.56	4.88
query35	4.90	4.89	4.94
query36	0.72	0.50	0.49
query37	0.10	0.07	0.07
query38	0.07	0.04	0.04
query39	0.04	0.03	0.03
query40	0.19	0.15	0.14
query41	0.08	0.03	0.03
query42	0.04	0.04	0.03
query43	0.04	0.04	0.04
Total cold run time: 106.92 s
Total hot run time: 32.84 s

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 54.76% (23/42) 🎉
Increment coverage report
Complete coverage report

@CalvinKirs
Copy link
Member Author

run buildall

1 similar comment
@CalvinKirs
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17593	5199	5019	5019
q2	1997	313	217	217
q3	10273	1297	729	729
q4	10235	1032	532	532
q5	7570	2453	2348	2348
q6	183	176	135	135
q7	915	749	628	628
q8	9368	1355	1154	1154
q9	6968	5147	5140	5140
q10	6885	2403	1964	1964
q11	490	299	277	277
q12	353	356	224	224
q13	17779	3622	3009	3009
q14	243	266	217	217
q15	566	505	486	486
q16	442	430	379	379
q17	594	857	360	360
q18	7609	7204	7096	7096
q19	1235	949	578	578
q20	363	336	232	232
q21	3767	2557	2348	2348
q22	1048	1020	980	980
Total cold run time: 106476 ms
Total hot run time: 34052 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5129	5067	5068	5067
q2	260	336	236	236
q3	2139	2707	2331	2331
q4	1391	1785	1392	1392
q5	4269	4292	4552	4292
q6	221	178	139	139
q7	2120	2006	1804	1804
q8	2771	2591	2582	2582
q9	7506	7292	7455	7292
q10	3030	3327	2944	2944
q11	579	547	522	522
q12	749	833	721	721
q13	3589	4005	3315	3315
q14	320	358	284	284
q15	525	490	498	490
q16	488	519	449	449
q17	1193	1526	1453	1453
q18	8039	7647	7646	7646
q19	821	813	828	813
q20	2081	2068	1935	1935
q21	4970	4630	4428	4428
q22	1099	1051	1000	1000
Total cold run time: 53289 ms
Total hot run time: 51135 ms

@doris-robot
Copy link

TPC-DS: Total hot run time: 186927 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 776d2ec654d6abbf50cad76054287e294c57fb6c, data reload: false

query1	1042	439	441	439
query2	6576	1764	1758	1758
query3	6756	227	220	220
query4	26825	23350	22973	22973
query5	4386	644	523	523
query6	335	249	256	249
query7	4651	525	297	297
query8	314	266	261	261
query9	8722	2943	2921	2921
query10	485	370	308	308
query11	15513	15459	14807	14807
query12	172	129	123	123
query13	1688	558	449	449
query14	9377	5846	5922	5846
query15	222	204	183	183
query16	7600	689	509	509
query17	1253	766	659	659
query18	2052	453	348	348
query19	213	212	246	212
query20	134	126	126	126
query21	212	135	112	112
query22	4128	4180	4089	4089
query23	33950	33166	32963	32963
query24	8216	2404	2397	2397
query25	599	577	447	447
query26	1243	294	167	167
query27	2704	510	362	362
query28	4344	2302	2271	2271
query29	781	608	495	495
query30	296	233	196	196
query31	919	834	729	729
query32	99	85	78	78
query33	583	404	358	358
query34	849	864	523	523
query35	886	840	736	736
query36	979	1039	923	923
query37	129	111	91	91
query38	4073	4120	3943	3943
query39	1510	1453	1480	1453
query40	227	137	128	128
query41	69	65	60	60
query42	132	119	129	119
query43	504	539	475	475
query44	1353	884	878	878
query45	186	175	176	175
query46	864	1045	646	646
query47	1801	1805	1740	1740
query48	397	424	319	319
query49	738	510	412	412
query50	651	706	402	402
query51	4177	4204	4276	4204
query52	117	120	113	113
query53	269	268	213	213
query54	620	615	548	548
query55	100	94	95	94
query56	347	348	326	326
query57	1195	1192	1150	1150
query58	298	285	285	285
query59	2586	2782	2581	2581
query60	365	350	359	350
query61	170	159	164	159
query62	794	739	688	688
query63	235	197	208	197
query64	4491	1167	851	851
query65	4288	4237	4238	4237
query66	1144	455	358	358
query67	15430	15616	15151	15151
query68	8223	931	585	585
query69	502	335	288	288
query70	1239	1101	1143	1101
query71	581	352	323	323
query72	6057	4984	4810	4810
query73	747	639	358	358
query74	9224	9094	9043	9043
query75	3848	3092	2632	2632
query76	3727	1142	749	749
query77	820	423	346	346
query78	9515	9689	8835	8835
query79	2505	842	580	580
query80	660	578	523	523
query81	480	254	231	231
query82	435	138	113	113
query83	303	271	248	248
query84	300	121	95	95
query85	866	464	431	431
query86	343	350	307	307
query87	4365	4341	4224	4224
query88	3246	2302	2236	2236
query89	405	335	294	294
query90	1952	228	222	222
query91	162	171	133	133
query92	90	81	72	72
query93	1579	1004	648	648
query94	702	418	332	332
query95	418	341	340	340
query96	492	594	279	279
query97	2625	2707	2661	2661
query98	256	219	221	219
query99	1402	1439	1266	1266
Total cold run time: 276433 ms
Total hot run time: 186927 ms

@doris-robot
Copy link

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

query1	0.05	0.05	0.05
query2	0.10	0.05	0.05
query3	0.25	0.09	0.08
query4	1.61	0.11	0.12
query5	0.46	0.42	0.42
query6	1.18	0.64	0.70
query7	0.03	0.03	0.02
query8	0.06	0.04	0.04
query9	0.61	0.55	0.53
query10	0.59	0.58	0.57
query11	0.17	0.11	0.11
query12	0.16	0.12	0.12
query13	0.63	0.64	0.61
query14	0.81	0.82	0.84
query15	0.89	0.84	0.86
query16	0.40	0.42	0.40
query17	1.04	1.06	1.08
query18	0.22	0.20	0.23
query19	2.01	1.88	1.87
query20	0.02	0.01	0.02
query21	15.40	0.99	0.58
query22	0.77	1.11	0.71
query23	14.92	1.44	0.66
query24	6.74	1.79	1.37
query25	0.48	0.15	0.16
query26	0.63	0.17	0.14
query27	0.06	0.05	0.06
query28	10.11	0.92	0.43
query29	12.76	3.91	3.24
query30	3.07	3.01	2.96
query31	2.83	0.57	0.38
query32	3.25	0.56	0.47
query33	3.14	3.08	3.17
query34	16.01	5.47	4.89
query35	4.93	4.98	4.98
query36	0.72	0.51	0.50
query37	0.10	0.08	0.07
query38	0.07	0.05	0.04
query39	0.04	0.03	0.03
query40	0.19	0.16	0.15
query41	0.08	0.03	0.04
query42	0.04	0.03	0.03
query43	0.04	0.03	0.04
Total cold run time: 107.67 s
Total hot run time: 33.52 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 67.21% (41/61) 🎉
Increment coverage report
Complete coverage report

Previously, HDFS High Availability (HA) configuration checks were only performed for the HMS catalog.
This PR extends HA validation to all components that interact with HDFS, including:

- All catalog types (HMS, Hive, Iceberg, etc.)
- Table-valued functions (TVFs) accessing HDFS resources
- Any future features that depend on HDFS HA
@CalvinKirs
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17614	5229	5255	5229
q2	2054	328	217	217
q3	10213	1303	740	740
q4	10254	1004	553	553
q5	8213	2422	2353	2353
q6	207	172	150	150
q7	923	785	633	633
q8	9354	1390	1085	1085
q9	7237	5117	5139	5117
q10	6963	2396	1968	1968
q11	504	296	277	277
q12	379	361	233	233
q13	17813	3657	3042	3042
q14	233	246	214	214
q15	563	531	502	502
q16	435	431	385	385
q17	589	868	368	368
q18	7408	7042	7059	7042
q19	1430	952	558	558
q20	347	341	225	225
q21	3877	2535	2275	2275
q22	1067	1057	970	970
Total cold run time: 107677 ms
Total hot run time: 34136 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5241	5076	5092	5076
q2	249	330	225	225
q3	2182	2708	2290	2290
q4	1399	1786	1328	1328
q5	4252	4449	4477	4449
q6	227	178	131	131
q7	2039	1976	1835	1835
q8	2724	2688	2527	2527
q9	7168	7435	7295	7295
q10	3187	3308	2868	2868
q11	573	520	502	502
q12	664	777	669	669
q13	3524	3998	3304	3304
q14	281	305	282	282
q15	549	485	488	485
q16	449	490	448	448
q17	1355	1557	1362	1362
q18	7894	7897	7640	7640
q19	873	793	871	793
q20	2005	2092	1912	1912
q21	4921	4324	4153	4153
q22	1088	1055	1010	1010
Total cold run time: 52844 ms
Total hot run time: 50584 ms

@doris-robot
Copy link

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

query1	1085	422	421	421
query2	6585	1791	1792	1791
query3	6775	232	241	232
query4	26810	24075	23072	23072
query5	4395	647	509	509
query6	362	237	225	225
query7	4677	516	301	301
query8	309	254	255	254
query9	8603	2891	2838	2838
query10	487	351	289	289
query11	15956	15020	14740	14740
query12	207	124	117	117
query13	1673	565	438	438
query14	9503	5786	5743	5743
query15	219	189	176	176
query16	7672	670	506	506
query17	1263	739	617	617
query18	2070	441	342	342
query19	206	200	181	181
query20	135	133	126	126
query21	218	135	115	115
query22	4478	4388	4133	4133
query23	33960	33035	33009	33009
query24	8159	2405	2429	2405
query25	591	522	461	461
query26	1240	284	166	166
query27	2737	516	360	360
query28	4354	2248	2220	2220
query29	769	630	503	503
query30	297	227	198	198
query31	923	795	710	710
query32	92	84	80	80
query33	575	415	396	396
query34	813	871	517	517
query35	819	824	759	759
query36	960	1030	962	962
query37	133	113	92	92
query38	4040	4127	3933	3933
query39	1533	1436	1409	1409
query40	233	138	131	131
query41	65	63	59	59
query42	133	125	120	120
query43	523	498	476	476
query44	1345	855	850	850
query45	185	176	176	176
query46	880	1021	638	638
query47	1793	1828	1758	1758
query48	386	435	326	326
query49	773	538	425	425
query50	650	712	414	414
query51	4167	4147	4065	4065
query52	123	120	107	107
query53	265	278	202	202
query54	638	633	562	562
query55	103	91	91	91
query56	370	372	362	362
query57	1227	1232	1136	1136
query58	296	293	305	293
query59	2664	2865	2652	2652
query60	389	370	373	370
query61	198	185	188	185
query62	811	798	684	684
query63	230	193	195	193
query64	4426	1145	855	855
query65	4271	4194	4226	4194
query66	1082	459	363	363
query67	15591	15353	15041	15041
query68	8052	948	592	592
query69	493	339	294	294
query70	1299	1193	1106	1106
query71	574	377	319	319
query72	5973	5048	5206	5048
query73	790	690	354	354
query74	9289	9026	9032	9026
query75	3718	3108	2711	2711
query76	3622	1156	740	740
query77	803	396	351	351
query78	9470	9726	8822	8822
query79	2412	832	597	597
query80	683	586	520	520
query81	483	258	230	230
query82	437	147	115	115
query83	303	274	256	256
query84	300	118	99	99
query85	897	467	429	429
query86	339	299	314	299
query87	4327	4297	4117	4117
query88	2890	2197	2227	2197
query89	421	344	292	292
query90	1927	225	223	223
query91	167	167	138	138
query92	91	78	73	73
query93	1123	1001	652	652
query94	701	424	333	333
query95	412	342	337	337
query96	493	582	278	278
query97	2723	2649	2554	2554
query98	241	225	218	218
query99	1446	1482	1286	1286
Total cold run time: 276399 ms
Total hot run time: 186680 ms

@doris-robot
Copy link

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

query1	0.06	0.06	0.05
query2	0.09	0.05	0.06
query3	0.26	0.08	0.08
query4	1.61	0.11	0.12
query5	0.45	0.43	0.42
query6	1.19	0.63	0.65
query7	0.03	0.02	0.02
query8	0.06	0.05	0.05
query9	0.61	0.51	0.53
query10	0.58	0.56	0.56
query11	0.17	0.11	0.12
query12	0.16	0.13	0.12
query13	0.64	0.62	0.63
query14	0.79	0.84	0.84
query15	0.88	0.84	0.88
query16	0.39	0.39	0.38
query17	1.05	1.05	1.05
query18	0.22	0.21	0.21
query19	1.97	1.80	1.86
query20	0.01	0.02	0.01
query21	15.39	0.96	0.58
query22	0.78	1.30	0.90
query23	14.77	1.41	0.64
query24	6.98	1.57	0.54
query25	0.52	0.16	0.15
query26	0.58	0.18	0.14
query27	0.08	0.06	0.06
query28	9.38	0.95	0.44
query29	12.66	3.91	3.27
query30	0.28	0.14	0.13
query31	2.83	0.59	0.38
query32	3.23	0.56	0.48
query33	3.03	3.02	3.14
query34	16.14	5.46	4.80
query35	4.93	4.94	4.94
query36	0.70	0.51	0.50
query37	0.11	0.08	0.07
query38	0.07	0.05	0.04
query39	0.03	0.03	0.03
query40	0.19	0.16	0.14
query41	0.10	0.03	0.03
query42	0.04	0.03	0.03
query43	0.05	0.04	0.03
Total cold run time: 104.09 s
Total hot run time: 29.8 s

@hello-stephen
Copy link
Contributor

FE UT Coverage Report

Increment line coverage 67.21% (41/61) 🎉
Increment coverage report
Complete coverage report

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 63.93% (39/61) 🎉
Increment coverage report
Complete coverage report

@morningman morningman requested a review from Copilot September 6, 2025 02:08
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull Request Overview

This PR extends HDFS High Availability (HA) configuration validation from HMS catalog-only to all catalog types that interact with HDFS. The implementation introduces a centralized validation utility and updates test files to include proper HA configuration properties.

  • Adds centralized HDFS HA configuration validation in HdfsPropertiesUtils.checkHaConfig()
  • Extends validation to all catalog types (HMS, Iceberg, Paimon) and HDFS properties
  • Updates test files to include proper HA configuration properties for validation

Reviewed Changes

Copilot reviewed 11 out of 11 changed files in this pull request and generated 3 comments.

Show a summary per file
File Description
fe/fe-core/src/main/java/org/apache/doris/datasource/property/storage/HdfsPropertiesUtils.java Adds centralized HDFS HA configuration validation method
fe/fe-core/src/main/java/org/apache/doris/datasource/property/storage/HdfsProperties.java Integrates HA validation into HDFS properties initialization
fe/fe-core/src/main/java/org/apache/doris/datasource/CatalogProperty.java Adds generic validation method for metastore and storage properties
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/HMSExternalCatalog.java Refactors to use centralized validation
fe/fe-core/src/main/java/org/apache/doris/datasource/iceberg/IcebergExternalCatalog.java Adds HA validation support
fe/fe-core/src/main/java/org/apache/doris/datasource/paimon/PaimonExternalCatalog.java Adds HA validation support
fe/fe-core/src/test/java/org/apache/doris/datasource/property/storage/HdfsPropertiesUtilsTest.java Adds comprehensive unit tests for HA validation
fe/fe-core/src/test/java/org/apache/doris/datasource/property/storage/HdfsPropertiesTest.java Updates tests with proper HA configuration
fe/fe-core/src/test/java/org/apache/doris/common/util/LocationPathTest.java Updates tests with valid HA configuration properties
regression-test/suites/auth_call/test_ddl_catalog_auth.groovy Adds required metastore URI property
regression-test/suites/auth_call/test_assistant_command_auth.groovy Adds required metastore URI property

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.


static {
Map<String, String> props = new HashMap<>();
props.put("dfs.nameservices", "namenode:8020");
Copy link

Copilot AI Sep 6, 2025

Choose a reason for hiding this comment

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

Duplicate key 'dfs.nameservices' - the second assignment on line 42 overwrites the first assignment on line 41. Remove line 41.

Suggested change
props.put("dfs.nameservices", "namenode:8020");

Copilot uses AI. Check for mistakes.
Comment on lines 156 to 158
"Metastore properties type is not correct. Expected %s but got %s"
+ msClass.getName()
+ msProperties.getClass().getName());
Copy link

Copilot AI Sep 6, 2025

Choose a reason for hiding this comment

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

The error message string formatting is incorrect. It contains '%s' placeholders but no corresponding arguments are provided. Either use String.format() with proper arguments or remove the placeholders.

Suggested change
"Metastore properties type is not correct. Expected %s but got %s"
+ msClass.getName()
+ msProperties.getClass().getName());
String.format("Metastore properties type is not correct. Expected %s but got %s",
msClass.getName(), msProperties.getClass().getName()));

Copilot uses AI. Check for mistakes.
LOG.warn("Failed to create metastore properties", e);
throw new RuntimeException("Failed to create metastore properties", e);
throw new RuntimeException("Failed to create metastore properties, error: "
+ ExceptionUtils.getRootCause(e), e);
Copy link

Copilot AI Sep 6, 2025

Choose a reason for hiding this comment

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

Inconsistent exception handling - line 133 uses ExceptionUtils.getRootCauseMessage(e) while line 178 uses ExceptionUtils.getRootCause(e). Use getRootCauseMessage() consistently for string concatenation.

Suggested change
+ ExceptionUtils.getRootCause(e), e);
+ ExceptionUtils.getRootCauseMessage(e), e);

Copilot uses AI. Check for mistakes.
@CalvinKirs
Copy link
Member Author

run buildall

@CalvinKirs
Copy link
Member Author

run buildall

@doris-robot
Copy link

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

------ Round 1 ----------------------------------
q1	17604	5229	5075	5075
q2	2004	324	204	204
q3	10261	1297	703	703
q4	10246	1034	520	520
q5	7552	2403	2285	2285
q6	186	166	138	138
q7	907	759	674	674
q8	9361	1288	1147	1147
q9	6886	5211	5103	5103
q10	6960	2368	1982	1982
q11	492	303	276	276
q12	356	364	231	231
q13	17781	3647	3084	3084
q14	246	245	212	212
q15	579	504	489	489
q16	1008	1003	965	965
q17	607	854	364	364
q18	7318	7147	6988	6988
q19	1549	959	566	566
q20	340	337	241	241
q21	3687	2618	2343	2343
q22	1074	1047	957	957
Total cold run time: 107004 ms
Total hot run time: 34547 ms

----- Round 2, with runtime_filter_mode=off -----
q1	5262	5098	5117	5098
q2	250	335	232	232
q3	2174	2647	2328	2328
q4	1334	1758	1332	1332
q5	4233	4454	4499	4454
q6	231	179	135	135
q7	2096	1943	1896	1896
q8	2669	2592	2591	2591
q9	7434	7263	7204	7204
q10	3144	3306	2848	2848
q11	572	524	515	515
q12	696	775	665	665
q13	3889	3875	3329	3329
q14	284	317	296	296
q15	535	486	478	478
q16	1051	1097	1042	1042
q17	1209	1496	1428	1428
q18	7857	7856	7732	7732
q19	845	831	883	831
q20	2018	2121	1950	1950
q21	4851	4415	4350	4350
q22	1072	1038	1008	1008
Total cold run time: 53706 ms
Total hot run time: 51742 ms

@doris-robot
Copy link

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

query1	1060	428	408	408
query2	6574	1678	1676	1676
query3	6757	231	224	224
query4	26196	23478	23028	23028
query5	4350	661	530	530
query6	353	238	221	221
query7	4638	494	304	304
query8	293	255	236	236
query9	8690	2987	2891	2891
query10	503	356	336	336
query11	16068	14973	14724	14724
query12	182	125	119	119
query13	1674	585	437	437
query14	10220	9279	9143	9143
query15	226	202	173	173
query16	7152	670	480	480
query17	982	740	638	638
query18	2008	424	344	344
query19	206	193	173	173
query20	147	127	125	125
query21	217	137	118	118
query22	4008	4150	4053	4053
query23	33857	33111	33136	33111
query24	8114	2418	2424	2418
query25	642	575	447	447
query26	1239	283	168	168
query27	2726	520	351	351
query28	4421	2253	2256	2253
query29	847	608	494	494
query30	288	232	204	204
query31	897	812	736	736
query32	89	79	84	79
query33	589	393	355	355
query34	803	857	531	531
query35	802	823	757	757
query36	947	1059	933	933
query37	126	112	99	99
query38	3499	3625	3533	3533
query39	1513	1457	1441	1441
query40	234	134	128	128
query41	71	61	62	61
query42	128	118	125	118
query43	520	498	447	447
query44	1329	882	863	863
query45	197	182	179	179
query46	850	1006	656	656
query47	1781	1822	1723	1723
query48	385	431	341	341
query49	760	496	430	430
query50	643	678	413	413
query51	4008	3934	3879	3879
query52	121	117	109	109
query53	251	272	210	210
query54	632	607	569	569
query55	100	95	93	93
query56	328	349	320	320
query57	1188	1194	1132	1132
query58	293	285	285	285
query59	2602	2636	2579	2579
query60	363	361	347	347
query61	177	161	162	161
query62	818	719	677	677
query63	228	199	209	199
query64	4611	1200	834	834
query65	4075	3944	3961	3944
query66	1178	439	370	370
query67	15378	15282	15269	15269
query68	5456	944	589	589
query69	511	351	297	297
query70	1393	1259	1352	1259
query71	511	371	327	327
query72	5970	5265	5340	5265
query73	723	703	373	373
query74	9059	9126	8947	8947
query75	3311	3322	2809	2809
query76	3184	1164	748	748
query77	617	402	349	349
query78	9609	9684	8901	8901
query79	2946	844	601	601
query80	1727	596	500	500
query81	581	258	223	223
query82	721	169	136	136
query83	350	265	266	265
query84	304	108	100	100
query85	1036	464	423	423
query86	484	320	309	309
query87	3722	3750	3634	3634
query88	3796	2248	2238	2238
query89	410	335	297	297
query90	1931	230	225	225
query91	163	168	136	136
query92	96	77	78	77
query93	2646	998	653	653
query94	800	412	318	318
query95	408	336	336	336
query96	487	586	275	275
query97	2958	2979	2886	2886
query98	254	226	216	216
query99	1428	1452	1275	1275
Total cold run time: 274744 ms
Total hot run time: 189614 ms

@doris-robot
Copy link

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

query1	0.06	0.05	0.04
query2	0.09	0.05	0.06
query3	0.25	0.08	0.08
query4	1.61	0.12	0.11
query5	0.28	0.27	0.25
query6	1.17	0.67	0.64
query7	0.03	0.02	0.03
query8	0.06	0.04	0.05
query9	0.61	0.53	0.51
query10	0.57	0.58	0.59
query11	0.17	0.11	0.11
query12	0.16	0.12	0.13
query13	0.63	0.62	0.62
query14	1.03	1.01	1.03
query15	0.86	0.84	0.87
query16	0.41	0.41	0.42
query17	1.05	1.05	1.06
query18	0.24	0.20	0.20
query19	1.95	1.83	1.86
query20	0.02	0.02	0.02
query21	15.38	0.94	0.59
query22	0.82	1.18	0.68
query23	14.87	1.40	0.65
query24	6.93	1.14	0.75
query25	0.54	0.17	0.09
query26	0.61	0.16	0.13
query27	0.06	0.05	0.06
query28	9.93	0.94	0.43
query29	12.77	3.93	3.29
query30	0.28	0.12	0.10
query31	2.83	0.61	0.38
query32	3.25	0.55	0.46
query33	3.10	3.10	3.08
query34	15.80	5.50	4.81
query35	4.93	4.89	4.92
query36	0.71	0.51	0.52
query37	0.10	0.07	0.07
query38	0.06	0.05	0.05
query39	0.03	0.02	0.03
query40	0.18	0.14	0.15
query41	0.09	0.04	0.03
query42	0.03	0.03	0.03
query43	0.05	0.04	0.03
Total cold run time: 104.6 s
Total hot run time: 29.79 s

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Sep 7, 2025
@github-actions
Copy link
Contributor

github-actions bot commented Sep 7, 2025

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

@github-actions
Copy link
Contributor

github-actions bot commented Sep 7, 2025

PR approved by anyone and no changes requested.

@hello-stephen
Copy link
Contributor

FE Regression Coverage Report

Increment line coverage 63.93% (39/61) 🎉
Increment coverage report
Complete coverage report

@CalvinKirs CalvinKirs merged commit d18b5ba into apache:master Sep 8, 2025
26 of 28 checks passed
github-actions bot pushed a commit that referenced this pull request Sep 8, 2025
### What problem does this PR solve?

Previously, HDFS High Availability (HA) configuration checks were only
performed for the HMS catalog. This PR extends HA validation to all
components that interact with HDFS, including:

- All catalog types (HMS, Hive, Iceberg, etc.)
- Table-valued functions (TVFs) accessing HDFS resources
- Any future features that depend on HDFS HA
morrySnow pushed a commit that referenced this pull request Sep 9, 2025
…55764)

Cherry-picked from #55675

---------

Co-authored-by: Calvin Kirs <guoqiang@selectdb.com>
@morrySnow morrySnow mentioned this pull request Sep 22, 2025
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/3.1.1-merged reviewed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants