Skip to content

[improvement](fe) Migrate HMS client pool to Commons Pool#61553

Merged
morningman merged 8 commits intoapache:masterfrom
suxiaogang223:codex/hms-client-commons-pool
Mar 31, 2026
Merged

[improvement](fe) Migrate HMS client pool to Commons Pool#61553
morningman merged 8 commits intoapache:masterfrom
suxiaogang223:codex/hms-client-commons-pool

Conversation

@suxiaogang223
Copy link
Copy Markdown
Contributor

What problem does this PR solve?

Issue Number: N/A

Related PR: N/A

Problem Summary:

This PR migrates ThriftHMSCachedClient from a self-managed queue-based HMS client pool to commons-pool2 while keeping the external FE interface unchanged.

It also clarifies the responsibility boundary of the HMS pool:

  • The pool only manages FE-side client lifecycle, including create, borrow/return, invalidate on failure, and destroy on close.
  • Hive-side socket lifetime and reconnect remain handled by RetryingMetaStoreClient.
  • The pool does not interpret hive.metastore.client.socket.lifetime or probe remote socket health.

Additional changes in this PR:

  • Preserve throwable-based invalidation so failed borrowers are not returned to the pool.
  • Fix nested borrow hazards in updateTableStatistics and lock polling paths under strict pool limits.
  • Add FE unit coverage for normal return, invalidation, blocking borrow reuse, close behavior, and single-client nested-call behavior.

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

Manual verification:

  • FE compilation passed locally after the pool migration changes.

  • Re-ran bash run-fe-ut.sh --run org.apache.doris.datasource.hive.ThriftHMSCachedClientTest; the run entered the FE unit-test build flow and reached fe-core compilation, but I did not wait for the full end-to-end completion in this environment.

  • Behavior changed:

    • No.
    • Yes. The HMS client pool implementation now uses commons-pool2 internally, while the pool scope is explicitly limited to FE-side lifecycle management.
  • Does this need documentation?

    • No.
    • Yes.

Check List (For Reviewer who merge this PR)

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

### What problem does this PR solve?

Issue Number: N/A

Related PR: N/A

Problem Summary: Replace the self-managed HMS client queue in ThriftHMSCachedClient with commons-pool2 while keeping the external interface unchanged. This also preserves broken-client invalidation and adds coverage for pool borrow/return semantics.

### Release note

None

### Check List (For Author)

- Test: Manual test

    - FE compilation passed locally

- Behavior changed: Yes (the HMS client pool implementation now uses commons-pool2 internally while preserving the existing public behavior)

- Does this need documentation: No
### What problem does this PR solve?

Issue Number: N/A

Related PR: N/A

Problem Summary: Refine the Commons Pool based HMS client pool so that it only manages FE-side client lifecycle. Hive socket lifetime and reconnect remain the responsibility of RetryingMetaStoreClient. Keep setThrowable storing the failure cause for invalidated borrowers and document the pool scope in code comments.

### Release note

None

### Check List (For Author)

- Test: Manual test

    - No additional test run for this incremental cleanup

- Behavior changed: No (this change clarifies pool scope and preserves throwable-based invalidation)

- Does this need documentation: No
@hello-stephen
Copy link
Copy Markdown
Contributor

Thank you for your contribution to Apache Doris.
Don't know what should be done next? See How to process your PR.

Please clearly describe your PR:

  1. What problem was fixed (it's best to include specific error reporting information). How it was fixed.
  2. Which behaviors were modified. What was the previous behavior, what is it now, why was it modified, and what possible impacts might there be.
  3. What features were added. Why was this function added?
  4. Which code was refactored and why was this part of the code refactored?
  5. Which functions were optimized and what is the difference before and after the optimization?

@suxiaogang223
Copy link
Copy Markdown
Contributor Author

run buildall

@doris-robot
Copy link
Copy Markdown

TPC-H: Total hot run time: 27018 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 02914feeb6288626b9c719ac2f2db4d2d75b37f6, 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	17626	4569	4286	4286
q2	q3	10642	844	555	555
q4	4684	365	250	250
q5	7594	1221	1007	1007
q6	175	171	146	146
q7	800	837	676	676
q8	9841	1492	1350	1350
q9	5623	4732	4736	4732
q10	6336	1964	1672	1672
q11	475	245	236	236
q12	764	582	462	462
q13	18067	2916	2201	2201
q14	232	234	213	213
q15	q16	751	739	677	677
q17	738	862	435	435
q18	6003	5413	5192	5192
q19	1226	969	613	613
q20	539	494	371	371
q21	4536	1985	1680	1680
q22	405	344	264	264
Total cold run time: 97057 ms
Total hot run time: 27018 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	4697	4553	4666	4553
q2	q3	3985	4357	3839	3839
q4	873	1235	773	773
q5	4038	4420	4329	4329
q6	183	170	140	140
q7	1752	1633	1493	1493
q8	2563	2770	2625	2625
q9	7569	7455	7356	7356
q10	3761	3978	3641	3641
q11	524	473	457	457
q12	519	618	472	472
q13	2813	3174	2360	2360
q14	282	301	272	272
q15	q16	728	796	721	721
q17	1171	1377	1400	1377
q18	7269	6798	6562	6562
q19	925	979	941	941
q20	2114	2171	2050	2050
q21	4024	3450	3317	3317
q22	491	466	388	388
Total cold run time: 50281 ms
Total hot run time: 47666 ms

@doris-robot
Copy link
Copy Markdown

TPC-DS: Total hot run time: 168610 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 02914feeb6288626b9c719ac2f2db4d2d75b37f6, data reload: false

query5	4318	645	507	507
query6	321	227	198	198
query7	4209	471	261	261
query8	340	237	221	221
query9	8667	2730	2707	2707
query10	515	381	331	331
query11	7028	5092	4885	4885
query12	190	139	122	122
query13	1280	479	356	356
query14	5782	3754	3480	3480
query14_1	2859	2865	2839	2839
query15	204	192	172	172
query16	990	482	465	465
query17	1116	732	618	618
query18	2448	453	356	356
query19	252	216	184	184
query20	138	128	129	128
query21	213	146	109	109
query22	13286	14087	14222	14087
query23	16600	16010	15563	15563
query23_1	15884	15879	15627	15627
query24	7283	1605	1210	1210
query24_1	1205	1224	1209	1209
query25	530	454	429	429
query26	1223	256	160	160
query27	2783	489	291	291
query28	4471	1844	1831	1831
query29	816	604	478	478
query30	294	225	190	190
query31	1017	976	881	881
query32	77	71	70	70
query33	508	333	281	281
query34	901	874	530	530
query35	653	687	616	616
query36	1047	1070	963	963
query37	139	99	80	80
query38	2946	2941	2877	2877
query39	873	833	804	804
query39_1	810	805	812	805
query40	241	151	137	137
query41	62	60	57	57
query42	260	255	259	255
query43	242	250	220	220
query44	
query45	197	189	185	185
query46	902	971	598	598
query47	2108	2097	2013	2013
query48	326	312	236	236
query49	624	457	389	389
query50	682	271	214	214
query51	4057	4117	3997	3997
query52	261	271	261	261
query53	290	339	295	295
query54	308	269	268	268
query55	91	85	85	85
query56	317	319	316	316
query57	1952	1820	1755	1755
query58	283	274	275	274
query59	2784	2942	2755	2755
query60	342	353	331	331
query61	157	164	179	164
query62	640	593	541	541
query63	305	276	279	276
query64	5005	1262	993	993
query65	
query66	1460	451	341	341
query67	24267	24405	24234	24234
query68	
query69	413	320	291	291
query70	978	986	960	960
query71	351	311	299	299
query72	2794	2718	2452	2452
query73	552	560	312	312
query74	9630	9606	9451	9451
query75	2871	2780	2449	2449
query76	2280	1023	688	688
query77	384	390	329	329
query78	10907	11025	10434	10434
query79	2161	797	587	587
query80	1669	654	565	565
query81	553	260	230	230
query82	1005	155	123	123
query83	339	278	267	267
query84	252	128	102	102
query85	977	575	533	533
query86	426	293	326	293
query87	3187	3134	2975	2975
query88	3612	2679	2655	2655
query89	420	373	341	341
query90	1851	179	178	178
query91	172	164	144	144
query92	78	75	71	71
query93	1030	805	500	500
query94	643	333	307	307
query95	598	400	309	309
query96	647	510	228	228
query97	2449	2463	2402	2402
query98	245	225	226	225
query99	987	1001	896	896
Total cold run time: 251238 ms
Total hot run time: 168610 ms

### What problem does this PR solve?

Issue Number: N/A

Related PR: #61553

Problem Summary: ThriftHMSCachedClient tests were tightly coupled to RetryingMetaStoreClient static construction, which made the UTs fragile and prone to falling through to real Hive client initialization. This change introduces an injectable MetaStoreClientProvider for tests while preserving the production construction path, and rewrites the unit tests to validate Doris pool behavior with a fake provider instead of static Hive mocks.

### Release note

None

### Check List (For Author)

- Test: Unit Test
    - Started Target system: Darwin; Target arch: arm64
Python 3.14.3
Check JAVA_HOME version
Apache Maven 3.9.14 (996c630dbc656c76214ce58821dcc58be960875b)
Maven home: /opt/homebrew/Cellar/maven/3.9.14/libexec
Java version: 17.0.18, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "26.3.1", arch: "aarch64", family: "mac"
cmake version 4.3.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
ninja 1.13.2
ccache version 4.13.1
Build Frontend UT
******************************
    Runing DorisFe Unittest
******************************
Target system: Darwin; Target arch: arm64
Python 3.14.3
Check JAVA_HOME version
Apache Maven 3.9.14 (996c630dbc656c76214ce58821dcc58be960875b)
Maven home: /opt/homebrew/Cellar/maven/3.9.14/libexec
Java version: 17.0.18, vendor: Homebrew, runtime: /opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home
Default locale: en_CN, platform encoding: UTF-8
OS name: "mac os x", version: "26.3.1", arch: "aarch64", family: "mac"
cmake version 4.3.0

CMake suite maintained and supported by Kitware (kitware.com/cmake).
ninja 1.13.2
ccache version 4.13.1
Build generated code
rm -rf /Users/xiaogangsu/code/doris/gensrc/build
/Library/Developer/CommandLineTools/usr/bin/make -C script
/Library/Developer/CommandLineTools/usr/bin/make -C proto
/Users/xiaogangsu/code/doris/gensrc/script/gen_build_version.sh
mkdir -p /Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/cloud.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/types.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/data.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/internal_service.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/column_data_file.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/runtime_profile.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/olap_common.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/segment_v2.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/function_service.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/file_cache.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/descriptors.proto
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/protoc --proto_path=/Users/xiaogangsu/code/doris/gensrc/proto --cpp_out=/Users/xiaogangsu/code/doris/gensrc/proto/../build//gen_cpp /Users/xiaogangsu/code/doris/gensrc/proto/olap_file.proto
get java cmd: /opt/homebrew/Cellar/openjdk@17/17.0.18/libexec/openjdk.jdk/Contents/Home/bin/java
get java version: openjdk full version \"17.0.18+0\"
/Library/Developer/CommandLineTools/usr/bin/make -C thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/QueryCache.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Data.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/QueryPlanExtra.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/MasterService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/parquet.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/DorisExternalService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/FrontendService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/ExternalTableSchema.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Types.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Exprs.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/BackendService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/HeartbeatService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Planner.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/PaloInternalService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/RuntimeProfile.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/PlanNodes.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Metrics.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Data.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/QueryCache.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/ExternalTableSchema.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/RuntimeProfile.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/DorisExternalService.thrift
[WARNING:/Users/xiaogangsu/code/doris/gensrc/thrift/parquet.thrift:583] Uncaptured doctext at on line 575.
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Exprs.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/parquet.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/AgentService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/MetricDefs.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/DataSinks.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Partitions.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Opcodes.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Metrics.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Types.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Status.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Normalization.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/NetworkTest.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Descriptors.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen cpp:moveable_types,no_skeleton -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_cpp --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/PaloBrokerService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Opcodes.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Status.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/NetworkTest.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Partitions.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/MetricDefs.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/PaloBrokerService.thrift
[WARNING:/Users/xiaogangsu/code/doris/gensrc/thrift/parquet.thrift:583] Uncaptured doctext at on line 575.
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Descriptors.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/PlanNodes.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/DataSinks.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Normalization.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/QueryPlanExtra.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/Planner.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/PaloInternalService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/HeartbeatService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/AgentService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/MasterService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/FrontendService.thrift
/Users/xiaogangsu/code/doris/thirdparty/installed/bin/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift -I /Users/xiaogangsu/code/doris/gensrc/thrift/../build//thrift/ --gen java:fullcamel -out /Users/xiaogangsu/code/doris/gensrc/thrift/../build//gen_java --allow-64bit-consts -strict /Users/xiaogangsu/code/doris/gensrc/thrift/BackendService.thrift
Done
Unit test parallel is: 1
Run the specified class: org.apache.doris.datasource.hive.ThriftHMSCachedClientTest
[INFO] Scanning for projects...
[INFO] Cache configuration is not available at configured path /Users/xiaogangsu/code/doris/fe/.mvn/maven-build-cache-config.xml, cache is enabled with defaults
[INFO] Using XX hash algorithm for cache
[INFO] ------------------------------------------------------------------------
[INFO] Detecting the operating system and CPU architecture
[INFO] ------------------------------------------------------------------------
[INFO] os.detected.name: osx
[INFO] os.detected.arch: aarch_64
[INFO] os.detected.bitness: 64
[INFO] os.detected.version: 26.3
[INFO] os.detected.version.major: 26
[INFO] os.detected.version.minor: 3
[INFO] os.detected.classifier: osx-aarch_64
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Build Order:
[INFO]
[INFO] Doris FE Project Parent POM                                        [pom]
[INFO] Doris FE Foundation                                                [jar]
[INFO] Doris FE Common Utils                                              [jar]
[INFO] Doris FE Catalog API                                               [jar]
[INFO] Doris FE Extension SPI                                             [jar]
[INFO] Doris FE Extension Loader                                          [jar]
[INFO] Doris FE Generated Thrift RPC                                      [jar]
[INFO] Doris FE Catalog Type                                              [jar]
[INFO] Doris FE Core                                                      [jar]
[INFO] hive-udf                                                           [jar]
[INFO] be-java-extensions                                                 [pom]
[INFO] java-common                                                        [jar]
[INFO] iceberg-metadata-scanner                                           [jar]
[INFO] hadoop-deps                                                        [jar]
[INFO] hadoop-hudi-scanner                                                [jar]
[INFO] java-udf                                                           [jar]
[INFO] jdbc-scanner                                                       [jar]
[INFO] paimon-scanner                                                     [jar]
[INFO] max-compute-connector                                              [jar]
[INFO] avro-scanner                                                       [jar]
[INFO] preload-extensions                                                 [jar]
[INFO] trino-connector-scanner                                            [jar]
[INFO] java-writer                                                        [jar]
[INFO] Doris FE Authentication                                            [pom]
[INFO] Doris FE Authentication API                                        [jar]
[INFO] Doris FE Authentication SPI                                        [jar]
[INFO] Doris FE Authentication Plugins                                    [pom]
[INFO] Doris FE - Authentication Plugin - Password                        [jar]
[INFO] Doris FE Authentication Handler                                    [jar]
[INFO] Doris FE - Authentication Plugin - LDAP                            [jar]
[INFO]
[INFO] ------------------------< org.apache.doris:fe >-------------------------
[INFO] Building Doris FE Project Parent POM 1.2-SNAPSHOT                 [1/30]
[INFO]   from pom.xml
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 10 ms. XX checksum [a9c61382c13f7495] calculated in 3 ms.
[INFO] Attempting to restore project org.apache.doris:fe from build cache
[INFO] Local build found by checksum a9c61382c13f7495
[INFO] Found cached build, restoring org.apache.doris:fe from cache by checksum a9c61382c13f7495
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO]
[INFO] -------------------< org.apache.doris:fe-foundation >-------------------
[INFO] Building Doris FE Foundation 1.2-SNAPSHOT                         [2/30]
[INFO]   from fe-foundation/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-foundation
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-foundation, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 20 input files. Project dir processing: 4, plugins: 3 millis
[INFO] Project inputs calculated in 10 ms. XX checksum [1e6453cc2800b43a] calculated in 28 ms.
[INFO] Attempting to restore project org.apache.doris:fe-foundation from build cache
[INFO] Local build found by checksum 1e6453cc2800b43a
[INFO] Found cached build, restoring org.apache.doris:fe-foundation from cache by checksum 1e6453cc2800b43a
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): jar:test-jar
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ---------------------< org.apache.doris:fe-common >---------------------
[INFO] Building Doris FE Common Utils 1.2-SNAPSHOT                       [3/30]
[INFO]   from fe-common/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-common
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-common, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 97 input files. Project dir processing: 6, plugins: 2 millis
[INFO] Project inputs calculated in 12 ms. XX checksum [b52b47309ec648cd] calculated in 27 ms.
[INFO] Attempting to restore project org.apache.doris:fe-common from build cache
[INFO] Local build found by checksum b52b47309ec648cd
[INFO] Found cached build, restoring org.apache.doris:fe-common from cache by checksum b52b47309ec648cd
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): antlr4:antlr4
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): jar:test-jar
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] --------------------< org.apache.doris:fe-catalog >---------------------
[INFO] Building Doris FE Catalog API 1.2-SNAPSHOT                        [4/30]
[INFO]   from fe-catalog/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-catalog
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-catalog, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 10 input files. Project dir processing: 2, plugins: 1 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 5 ms. XX checksum [c3a722a9a2d80cde] calculated in 2 ms.
[INFO] Attempting to restore project org.apache.doris:fe-catalog from build cache
[INFO] Local build found by checksum c3a722a9a2d80cde
[INFO] Found cached build, restoring org.apache.doris:fe-catalog from cache by checksum c3a722a9a2d80cde
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): jar:test-jar
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] -----------------< org.apache.doris:fe-extension-spi >------------------
[INFO] Building Doris FE Extension SPI 1.2-SNAPSHOT                      [5/30]
[INFO]   from fe-extension-spi/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-extension-spi
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-extension-spi, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 5 input files. Project dir processing: 2, plugins: 1 millis
[INFO] Project inputs calculated in 4 ms. XX checksum [cb31b9449a708664] calculated in 1 ms.
[INFO] Attempting to restore project org.apache.doris:fe-extension-spi from build cache
[INFO] Local build found by checksum cb31b9449a708664
[INFO] Found cached build, restoring org.apache.doris:fe-extension-spi from cache by checksum cb31b9449a708664
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ----------------< org.apache.doris:fe-extension-loader >----------------
[INFO] Building Doris FE Extension Loader 1.2-SNAPSHOT                   [6/30]
[INFO]   from fe-extension-loader/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-extension-loader
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-extension-loader, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 8 input files. Project dir processing: 1, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-extension-spi, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 2 ms. XX checksum [caccb4cb682888b5] calculated in 3 ms.
[INFO] Attempting to restore project org.apache.doris:fe-extension-loader from build cache
[INFO] Local build found by checksum caccb4cb682888b5
[INFO] Found cached build, restoring org.apache.doris:fe-extension-loader from cache by checksum caccb4cb682888b5
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ---------------------< org.apache.doris:fe-thrift >---------------------
[INFO] Building Doris FE Generated Thrift RPC 1.2-SNAPSHOT               [7/30]
[INFO]   from fe-thrift/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-thrift
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-thrift, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 781 input files. Project dir processing: 24, plugins: 1 millis
[INFO] Project inputs calculated in 28 ms. XX checksum [1fc72c8ffeb7ac7e] calculated in 97 ms.
[INFO] Attempting to restore project org.apache.doris:fe-thrift from build cache
[INFO] Local build found by checksum 1fc72c8ffeb7ac7e
[INFO] Found cached build, restoring org.apache.doris:fe-thrift from cache by checksum 1fc72c8ffeb7ac7e
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ----------------------< org.apache.doris:fe-type >----------------------
[INFO] Building Doris FE Catalog Type 1.2-SNAPSHOT                       [8/30]
[INFO]   from fe-type/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-type
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-type, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 16 input files. Project dir processing: 1, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-common, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-thrift, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 3 ms. XX checksum [c88ba09e3a35b4da] calculated in 4 ms.
[INFO] Attempting to restore project org.apache.doris:fe-type from build cache
[INFO] Local build found by checksum c88ba09e3a35b4da
[INFO] Found cached build, restoring org.apache.doris:fe-type from cache by checksum c88ba09e3a35b4da
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): jar:test-jar
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ----------------------< org.apache.doris:fe-core >----------------------
[INFO] Building Doris FE Core 1.2-SNAPSHOT                               [9/30]
[INFO]   from fe-core/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:fe-core
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-core, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 5988 input files. Project dir processing: 303, plugins: 4 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-foundation, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-common, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-thrift, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-type, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-catalog, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-extension-spi, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-extension-loader, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 332 ms. XX checksum [bebcecbad7ccad2d] calculated in 958 ms.
[INFO] Attempting to restore project org.apache.doris:fe-core from build cache
[INFO] Local build found by checksum bebcecbad7ccad2d
[INFO] Found cached build, restoring org.apache.doris:fe-core from cache by checksum bebcecbad7ccad2d
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): clean:clean
[INFO] Skipping plugin execution (cached): antlr4:antlr4
[INFO] Skipping plugin execution (cached): protoc-jar:run
[INFO] Skipping plugin execution (cached): exec:exec
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): build-helper:add-source
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ---------------------< org.apache.doris:hive-udf >----------------------
[INFO] Building hive-udf 1.2-SNAPSHOT                                   [10/30]
[INFO]   from hive-udf/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:hive-udf
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=hive-udf, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 13 input files. Project dir processing: 3, plugins: 1 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 5 ms. XX checksum [b7bc024ec834a82f] calculated in 3 ms.
[INFO] Attempting to restore project org.apache.doris:hive-udf from build cache
[INFO] Local build found by checksum b7bc024ec834a82f
[INFO] Found cached build, restoring org.apache.doris:hive-udf from cache by checksum b7bc024ec834a82f
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ----------------< org.apache.doris:be-java-extensions >-----------------
[INFO] Building be-java-extensions 1.2-SNAPSHOT                         [11/30]
[INFO]   from be-java-extensions/pom.xml
[INFO] --------------------------------[ pom ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:be-java-extensions
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=be-java-extensions, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 1 ms. XX checksum [0d6f98691f4ea56a] calculated in 0 ms.
[INFO] Attempting to restore project org.apache.doris:be-java-extensions from build cache
[INFO] Local build found by checksum 0d6f98691f4ea56a
[INFO] Found cached build, restoring org.apache.doris:be-java-extensions from cache by checksum 0d6f98691f4ea56a
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO]
[INFO] --------------------< org.apache.doris:java-common >--------------------
[INFO] Building java-common 1.2-SNAPSHOT                                [12/30]
[INFO]   from be-java-extensions/java-common/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:java-common
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 33 input files. Project dir processing: 2, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-common, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=fe-type, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 3 ms. XX checksum [c2480266da574aa0] calculated in 6 ms.
[INFO] Attempting to restore project org.apache.doris:java-common from build cache
[INFO] Local build found by checksum c2480266da574aa0
[INFO] Found cached build, restoring org.apache.doris:java-common from cache by checksum c2480266da574aa0
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] -------------< org.apache.doris:iceberg-metadata-scanner >--------------
[INFO] Building iceberg-metadata-scanner 1.2-SNAPSHOT                   [13/30]
[INFO]   from be-java-extensions/iceberg-metadata-scanner/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:iceberg-metadata-scanner
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=iceberg-metadata-scanner, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 4 input files. Project dir processing: 1, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 2 ms. XX checksum [b8b85b70a18c0ab4] calculated in 1 ms.
[INFO] Attempting to restore project org.apache.doris:iceberg-metadata-scanner from build cache
[INFO] Local build found by checksum b8b85b70a18c0ab4
[INFO] Found cached build, restoring org.apache.doris:iceberg-metadata-scanner from cache by checksum b8b85b70a18c0ab4
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] --------------------< org.apache.doris:hadoop-deps >--------------------
[INFO] Building hadoop-deps 1.2-SNAPSHOT                                [14/30]
[INFO]   from be-java-extensions/hadoop-deps/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:hadoop-deps
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=hadoop-deps, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 0 input files. Project dir processing: 0, plugins: 2 millis
[INFO] Project inputs calculated in 2 ms. XX checksum [c7a6f7d8ee01f64b] calculated in 0 ms.
[INFO] Attempting to restore project org.apache.doris:hadoop-deps from build cache
[INFO] Local build found by checksum c7a6f7d8ee01f64b
[INFO] Found cached build, restoring org.apache.doris:hadoop-deps from cache by checksum c7a6f7d8ee01f64b
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ----------------< org.apache.doris:hadoop-hudi-scanner >----------------
[INFO] Building hadoop-hudi-scanner 1.2-SNAPSHOT                        [15/30]
[INFO]   from be-java-extensions/hadoop-hudi-scanner/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:hadoop-hudi-scanner
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=hadoop-hudi-scanner, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 3 input files. Project dir processing: 0, plugins: 1 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=hadoop-deps, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 2 ms. XX checksum [3c7f51e9a425b0b5] calculated in 0 ms.
[INFO] Attempting to restore project org.apache.doris:hadoop-hudi-scanner from build cache
[INFO] Local build found by checksum 3c7f51e9a425b0b5
[INFO] Found cached build, restoring org.apache.doris:hadoop-hudi-scanner from cache by checksum 3c7f51e9a425b0b5
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ---------------------< org.apache.doris:java-udf >----------------------
[INFO] Building java-udf 1.2-SNAPSHOT                                   [16/30]
[INFO]   from be-java-extensions/java-udf/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:java-udf
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-udf, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 10 input files. Project dir processing: 1, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 3 ms. XX checksum [de3dcd120d77eb95] calculated in 1 ms.
[INFO] Attempting to restore project org.apache.doris:java-udf from build cache
[INFO] Local build found by checksum de3dcd120d77eb95
[INFO] Found cached build, restoring org.apache.doris:java-udf from cache by checksum de3dcd120d77eb95
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] -------------------< org.apache.doris:jdbc-scanner >--------------------
[INFO] Building jdbc-scanner 1.2-SNAPSHOT                               [17/30]
[INFO]   from be-java-extensions/jdbc-scanner/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:jdbc-scanner
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=jdbc-scanner, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 31 input files. Project dir processing: 2, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 4 ms. XX checksum [902164b8976c0f43] calculated in 6 ms.
[INFO] Attempting to restore project org.apache.doris:jdbc-scanner from build cache
[INFO] Local build found by checksum 902164b8976c0f43
[INFO] Found cached build, restoring org.apache.doris:jdbc-scanner from cache by checksum 902164b8976c0f43
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ------------------< org.apache.doris:paimon-scanner >-------------------
[INFO] Building paimon-scanner 1.2-SNAPSHOT                             [18/30]
[INFO]   from be-java-extensions/paimon-scanner/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:paimon-scanner
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=paimon-scanner, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 5 input files. Project dir processing: 1, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 2 ms. XX checksum [f73cdb044ff0d6c1] calculated in 1 ms.
[INFO] Attempting to restore project org.apache.doris:paimon-scanner from build cache
[INFO] Local build found by checksum f73cdb044ff0d6c1
[INFO] Found cached build, restoring org.apache.doris:paimon-scanner from cache by checksum f73cdb044ff0d6c1
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[INFO] Skipping plugin execution (cached): surefire:test
[INFO]
[INFO] ---------------< org.apache.doris:max-compute-connector >---------------
[INFO] Building max-compute-connector 1.2-SNAPSHOT                      [19/30]
[INFO]   from be-java-extensions/max-compute-connector/pom.xml
[INFO] --------------------------------[ jar ]---------------------------------
[INFO] Cache is INITIALIZED on project level for org.apache.doris:max-compute-connector
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=max-compute-connector, version=1.2-SNAPSHOT]
[INFO] Scanning plugins configurations to find input files. Probing is enabled, values will be checked for presence in file system
[INFO] Found 4 input files. Project dir processing: 1, plugins: 0 millis
[INFO] Going to calculate checksum for project [groupId=org.apache.doris, artifactId=java-common, version=1.2-SNAPSHOT]
[INFO] Project inputs calculated in 2 ms. XX checksum [3fb4a819ed790f01] calculated in 1 ms.
[INFO] Attempting to restore project org.apache.doris:max-compute-connector from build cache
[INFO] Local build found by checksum 3fb4a819ed790f01
[INFO] Found cached build, restoring org.apache.doris:max-compute-connector from cache by checksum 3fb4a819ed790f01
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): enforcer:enforce
[INFO] Skipping plugin execution (cached): checkstyle:check
[INFO] Skipping plugin execution (cached): directory:directory-of
[INFO] Skipping plugin execution (cached): jacoco:prepare-agent
[INFO] Skipping plugin execution (cached): remote-resources:process
[INFO] Skipping plugin execution (cached): license:add-third-party
[INFO] Skipping plugin execution (cached): resources:resources
[INFO] Skipping plugin execution (cached): flatten:flatten
[INFO] Skipping plugin execution (cached): compiler:compile
[INFO] Skipping plugin execution (cached): resources:testResources
[INFO] Skipping plugin execution (cached): compiler:testCompile
[…
### What problem does this PR solve?

Issue Number: N/A

Related PR: apache#61553

Problem Summary: Add a comment to clarify that MetaStoreClientProvider is introduced as an injectable seam for unit tests so ThriftHMSCachedClient tests can focus on Doris-side pool behavior without coupling to Hive static client construction.

### Release note

None

### Check List (For Author)

- Test: No need to test (comment-only change)
- Behavior changed: No
- Does this need documentation: No
@suxiaogang223
Copy link
Copy Markdown
Contributor Author

run buildall

@suxiaogang223
Copy link
Copy Markdown
Contributor Author

run buildall

@doris-robot
Copy link
Copy Markdown

TPC-H: Total hot run time: 26988 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit 08793bd3c07203e16b9ea494bd03e237f9fe6eee, 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	17589	4383	4270	4270
q2	q3	10713	805	532	532
q4	4728	367	251	251
q5	8035	1205	1025	1025
q6	248	172	147	147
q7	809	852	682	682
q8	10828	1511	1365	1365
q9	6639	4786	4764	4764
q10	6548	1955	1654	1654
q11	485	254	233	233
q12	774	587	469	469
q13	18092	2941	2225	2225
q14	237	245	212	212
q15	q16	738	731	667	667
q17	793	851	446	446
q18	6136	5353	5256	5256
q19	1274	1001	650	650
q20	541	500	372	372
q21	4978	1970	1476	1476
q22	367	336	292	292
Total cold run time: 100552 ms
Total hot run time: 26988 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	4716	4677	4637	4637
q2	q3	3916	4324	3862	3862
q4	911	1247	769	769
q5	4070	4432	4378	4378
q6	186	189	144	144
q7	1783	1669	1517	1517
q8	2513	2812	2646	2646
q9	7512	7516	7313	7313
q10	3842	4041	3642	3642
q11	500	426	409	409
q12	511	581	451	451
q13	2862	3315	2386	2386
q14	287	301	282	282
q15	q16	717	751	700	700
q17	1199	1366	1353	1353
q18	7159	6785	6500	6500
q19	874	900	950	900
q20	2095	2186	1996	1996
q21	4078	3472	3447	3447
q22	452	444	380	380
Total cold run time: 50183 ms
Total hot run time: 47712 ms

@hello-stephen
Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 74.34% (84/113) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link
Copy Markdown

TPC-DS: Total hot run time: 168894 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 08793bd3c07203e16b9ea494bd03e237f9fe6eee, data reload: false

query5	4358	669	521	521
query6	378	245	221	221
query7	4241	483	263	263
query8	368	251	235	235
query9	8728	2744	2723	2723
query10	527	382	366	366
query11	7002	5152	4889	4889
query12	195	133	129	129
query13	1284	466	370	370
query14	5654	3785	3483	3483
query14_1	2866	2896	2831	2831
query15	206	201	179	179
query16	1033	504	463	463
query17	1127	740	640	640
query18	2447	466	359	359
query19	222	224	198	198
query20	141	128	133	128
query21	215	140	111	111
query22	13294	14169	14572	14169
query23	16283	15807	15737	15737
query23_1	15965	15625	15774	15625
query24	7422	1597	1204	1204
query24_1	1240	1241	1257	1241
query25	553	464	429	429
query26	1235	262	146	146
query27	2766	499	296	296
query28	4437	1862	1847	1847
query29	855	571	480	480
query30	309	231	195	195
query31	1039	1007	886	886
query32	82	73	67	67
query33	524	352	283	283
query34	903	885	543	543
query35	654	699	601	601
query36	1074	1134	999	999
query37	133	99	87	87
query38	2948	2889	2852	2852
query39	858	827	804	804
query39_1	813	793	798	793
query40	236	158	137	137
query41	63	64	58	58
query42	260	257	251	251
query43	241	261	216	216
query44	
query45	197	192	183	183
query46	899	986	607	607
query47	2107	2138	2011	2011
query48	314	320	243	243
query49	627	482	381	381
query50	688	274	223	223
query51	4096	4049	4011	4011
query52	264	268	260	260
query53	288	345	282	282
query54	333	280	267	267
query55	91	92	81	81
query56	331	341	309	309
query57	1917	1855	1728	1728
query58	285	277	264	264
query59	2806	2950	2750	2750
query60	344	349	339	339
query61	159	151	154	151
query62	646	587	542	542
query63	311	282	274	274
query64	5014	1293	985	985
query65	
query66	1459	452	366	366
query67	24388	24396	24256	24256
query68	
query69	424	318	315	315
query70	1004	955	953	953
query71	343	314	310	310
query72	2782	2722	2404	2404
query73	556	548	321	321
query74	9660	9619	9351	9351
query75	2912	2764	2470	2470
query76	2303	1044	716	716
query77	384	421	328	328
query78	10935	11057	10459	10459
query79	1974	788	574	574
query80	1534	647	585	585
query81	547	280	223	223
query82	1004	157	115	115
query83	327	270	254	254
query84	248	121	100	100
query85	896	526	447	447
query86	444	306	320	306
query87	3169	3115	2990	2990
query88	3581	2680	2648	2648
query89	443	373	345	345
query90	2031	189	185	185
query91	167	169	137	137
query92	79	78	73	73
query93	1007	853	511	511
query94	647	320	281	281
query95	618	395	320	320
query96	646	528	227	227
query97	2436	2488	2424	2424
query98	234	220	217	217
query99	1005	998	872	872
Total cold run time: 251455 ms
Total hot run time: 168894 ms

@morningman
Copy link
Copy Markdown
Contributor

/review

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

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

Code Review Summary for PR #61553: Migrate HMS client pool to Commons Pool

This PR migrates ThriftHMSCachedClient from a self-managed queue-based HMS client pool to commons-pool2. The migration is well-structured overall, with good test coverage for the pool lifecycle. Below are findings from the review.

Critical Checkpoints

1. Goal and correctness: The goal is to replace a hand-rolled pool with commons-pool2. The code accomplishes this. The nested borrow fixes in updateTableStatistics and checkLock (lock polling path) are correct and important. Tests prove the key pool behaviors.

2. Modification scope: The change is focused — two files, one implementation and one test. Appropriate scope.

3. Concurrency:

  • close() has a check-then-act race on isClosed (two threads can both pass the guard). This is benign because GenericObjectPool.close() is idempotent and thread-safe.
  • ThriftHMSClient.close() correctly handles the race where isClosed becomes true between the check and returnObject/invalidateObjectIllegalStateException from pool closure is caught and destroy() is called.
  • isClosed is correctly marked volatile.
  • ThriftHMSClient.destroyed is not protected by synchronization and destroy() has a check-then-act pattern, but since destroy() is only called from the pool's destroyObject or from the close() method after pool operations fail, concurrent destroy() calls would only cause a harmless double client.close() on IMetaStoreClient.

4. Lifecycle management: The pool factory's destroyObject calls destroy(), and ThriftHMSClient.close() delegates to pool operations or falls back to destroy(). This is sound.

5. Error handling: Error propagation is correct. setThrowable marks the client for invalidation; close() checks and calls invalidateObject accordingly. The newly added inner try/catch blocks in updateTableStatistics, updatePartitionStatistics, addPartitions, dropPartition correctly set throwable before re-throwing — this is a fix for previously missing invalidation in these methods.

6. Incompatible changes: No storage format or protocol changes. The MetaStoreClientProvider interface is package-private, so no external compatibility concern.

7. Parallel code paths: The checkLock nested-borrow fix is correctly applied. The updateTableStatistics nested-borrow fix is correctly applied. Other methods that already used the single-borrow pattern are consistent.

8. Test coverage: Good coverage of pool lifecycle (borrow/return, invalidation, blocking borrow, close behavior, nested-call prevention). Tests for failure invalidation in partition/add/drop paths. Minor gaps noted in inline comments.

9. Observability: No new metrics or log levels needed for a pool migration.

10. Performance: maxWaitMillis = -1 means indefinite blocking. This preserves the old behavior (the old pool created clients on demand without blocking), but with a bounded pool, this can now cause threads to block indefinitely if all clients are borrowed and one is stuck. See inline comment.

Issues Found

See inline comments for details. Summary:

  1. (Medium) Raw type GenericObjectPoolConfig should be parameterized as GenericObjectPoolConfig<ThriftHMSClient>.
  2. (Medium) maxWaitMillis = -1 (infinite wait) could cause indefinite thread blocking under a strict pool limit — consider adding a finite timeout.
  3. (Low) updateTableStatistics wraps getTable in ugiDoAs but not alter_table; same inconsistency exists for getPartitionsByNames/alter_partition in updatePartitionStatistics. This is a pre-existing issue but partially introduced by this PR (since the getTable call was changed to use ugiDoAs directly while alter_table was not).

### What problem does this PR solve?

Issue Number: N/A

Related PR: apache#61553

Problem Summary: Refine the HMS Commons Pool migration by parameterizing pool config types, wrapping HMS write calls with ugiDoAs consistently, and supporting poolSize equals 0 as a non-pooled mode.

### Release note

None

### Check List (For Author)

- Test: Unit Test started for ThriftHMSCachedClientTest, but the final result was not observed in this environment
- Behavior changed: Yes. poolSize equals 0 now disables pooling and creates a client per borrow
- Does this need documentation: No
@suxiaogang223
Copy link
Copy Markdown
Contributor Author

run buildall

@suxiaogang223
Copy link
Copy Markdown
Contributor Author

run buildall

@hello-stephen
Copy link
Copy Markdown
Contributor

FE UT Coverage Report

Increment line coverage 70.99% (93/131) 🎉
Increment coverage report
Complete coverage report

@doris-robot
Copy link
Copy Markdown

TPC-H: Total hot run time: 27219 ms
machine: 'aliyun_ecs.c7a.8xlarge_32C64G'
scripts: https://github.com/apache/doris/tree/master/tools/tpch-tools
Tpch sf100 test result on commit b35bb6945f13dd625461cbb544f53a76d5da7f31, 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	17610	4637	4316	4316
q2	q3	10642	816	528	528
q4	4693	353	259	259
q5	7631	1222	1028	1028
q6	176	171	147	147
q7	792	854	682	682
q8	9772	1469	1354	1354
q9	5647	4745	4800	4745
q10	6351	1936	1635	1635
q11	456	248	250	248
q12	740	580	463	463
q13	18051	2700	1962	1962
q14	230	242	214	214
q15	q16	735	731	662	662
q17	760	850	462	462
q18	5986	5470	5360	5360
q19	1117	1004	634	634
q20	538	497	373	373
q21	4519	1891	1861	1861
q22	386	337	286	286
Total cold run time: 96832 ms
Total hot run time: 27219 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	4771	4580	4602	4580
q2	q3	3911	4353	3822	3822
q4	896	1213	781	781
q5	4096	4438	4439	4438
q6	198	186	144	144
q7	1842	1678	1576	1576
q8	2507	2708	2581	2581
q9	7536	7510	7520	7510
q10	3759	4000	3636	3636
q11	504	435	428	428
q12	491	598	427	427
q13	2518	3067	2098	2098
q14	301	324	278	278
q15	q16	710	745	716	716
q17	1204	1444	1341	1341
q18	7330	6944	6795	6795
q19	909	928	982	928
q20	2188	2146	2017	2017
q21	4024	3484	3324	3324
q22	469	437	377	377
Total cold run time: 50164 ms
Total hot run time: 47797 ms

@doris-robot
Copy link
Copy Markdown

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

query5	4335	650	503	503
query6	338	226	198	198
query7	4204	467	261	261
query8	341	245	224	224
query9	8708	2741	2740	2740
query10	532	381	351	351
query11	7011	5089	4879	4879
query12	175	132	124	124
query13	1273	460	359	359
query14	5703	3780	3492	3492
query14_1	2856	2844	2847	2844
query15	202	195	179	179
query16	985	475	380	380
query17	921	749	617	617
query18	2461	455	361	361
query19	221	216	185	185
query20	137	125	126	125
query21	212	135	111	111
query22	13180	13906	14421	13906
query23	17134	16444	15993	15993
query23_1	16178	16143	15688	15688
query24	7235	1623	1228	1228
query24_1	1268	1215	1220	1215
query25	557	459	422	422
query26	1249	263	149	149
query27	2754	486	293	293
query28	4482	1870	1861	1861
query29	857	573	486	486
query30	289	238	193	193
query31	1008	943	869	869
query32	86	69	76	69
query33	511	344	292	292
query34	898	875	520	520
query35	661	679	607	607
query36	1093	1115	1046	1046
query37	135	99	88	88
query38	2925	2922	2903	2903
query39	856	835	804	804
query39_1	784	801	788	788
query40	230	150	137	137
query41	63	60	60	60
query42	268	254	263	254
query43	234	252	222	222
query44	
query45	192	190	180	180
query46	883	999	599	599
query47	2498	2979	2050	2050
query48	320	314	229	229
query49	632	467	382	382
query50	695	291	211	211
query51	4147	4112	4024	4024
query52	261	270	258	258
query53	300	340	289	289
query54	326	274	273	273
query55	95	93	83	83
query56	322	346	309	309
query57	1921	1903	1554	1554
query58	281	267	271	267
query59	2790	2921	2775	2775
query60	336	341	330	330
query61	161	152	153	152
query62	628	614	531	531
query63	307	282	274	274
query64	5139	1294	1017	1017
query65	
query66	1475	459	353	353
query67	24245	24352	24132	24132
query68	
query69	411	309	280	280
query70	972	910	906	906
query71	345	310	304	304
query72	2745	2697	2429	2429
query73	532	537	313	313
query74	9621	9555	9427	9427
query75	2848	2727	2433	2433
query76	2285	1059	690	690
query77	371	376	299	299
query78	10987	11023	10503	10503
query79	3180	763	564	564
query80	1737	618	539	539
query81	574	263	228	228
query82	1004	155	124	124
query83	329	270	246	246
query84	301	116	100	100
query85	947	519	453	453
query86	489	290	293	290
query87	3206	3132	3036	3036
query88	3545	2652	2647	2647
query89	425	375	348	348
query90	2082	179	173	173
query91	194	165	138	138
query92	87	74	76	74
query93	2288	824	513	513
query94	640	312	273	273
query95	606	349	320	320
query96	654	524	233	233
query97	2492	2506	2497	2497
query98	240	219	227	219
query99	1003	997	911	911
Total cold run time: 255241 ms
Total hot run time: 168638 ms

Copy link
Copy Markdown
Contributor

@morningman morningman left a comment

Choose a reason for hiding this comment

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

LGTM

@github-actions github-actions bot added the approved Indicates a PR has been approved by one committer. label Mar 27, 2026
@github-actions
Copy link
Copy Markdown
Contributor

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

@github-actions
Copy link
Copy Markdown
Contributor

PR approved by anyone and no changes requested.

@morningman morningman merged commit 528a964 into apache:master Mar 31, 2026
30 of 32 checks passed
github-actions bot pushed a commit that referenced this pull request Mar 31, 2026
### What problem does this PR solve?

Problem Summary:

This PR migrates `ThriftHMSCachedClient` from a self-managed queue-based
HMS client pool to `commons-pool2` while keeping the external FE
interface unchanged.

It also clarifies the responsibility boundary of the HMS pool:
- The pool only manages FE-side client lifecycle, including create,
borrow/return, invalidate on failure, and destroy on close.
- Hive-side socket lifetime and reconnect remain handled by
`RetryingMetaStoreClient`.
- The pool does not interpret `hive.metastore.client.socket.lifetime` or
probe remote socket health.

Additional changes in this PR:
- Preserve throwable-based invalidation so failed borrowers are not
returned to the pool.
- Fix nested borrow hazards in `updateTableStatistics` and lock polling
paths under strict pool limits.
- Add FE unit coverage for normal return, invalidation, blocking borrow
reuse, close behavior, and single-client nested-call behavior.
github-actions bot pushed a commit that referenced this pull request Mar 31, 2026
### What problem does this PR solve?

Problem Summary:

This PR migrates `ThriftHMSCachedClient` from a self-managed queue-based
HMS client pool to `commons-pool2` while keeping the external FE
interface unchanged.

It also clarifies the responsibility boundary of the HMS pool:
- The pool only manages FE-side client lifecycle, including create,
borrow/return, invalidate on failure, and destroy on close.
- Hive-side socket lifetime and reconnect remain handled by
`RetryingMetaStoreClient`.
- The pool does not interpret `hive.metastore.client.socket.lifetime` or
probe remote socket health.

Additional changes in this PR:
- Preserve throwable-based invalidation so failed borrowers are not
returned to the pool.
- Fix nested borrow hazards in `updateTableStatistics` and lock polling
paths under strict pool limits.
- Add FE unit coverage for normal return, invalidation, blocking borrow
reuse, close behavior, and single-client nested-call behavior.
morningman pushed a commit that referenced this pull request Apr 2, 2026
### What problem does this PR solve?

Problem Summary:

This PR migrates `ThriftHMSCachedClient` from a self-managed queue-based
HMS client pool to `commons-pool2` while keeping the external FE
interface unchanged.

It also clarifies the responsibility boundary of the HMS pool:
- The pool only manages FE-side client lifecycle, including create,
borrow/return, invalidate on failure, and destroy on close.
- Hive-side socket lifetime and reconnect remain handled by
`RetryingMetaStoreClient`.
- The pool does not interpret `hive.metastore.client.socket.lifetime` or
probe remote socket health.

Additional changes in this PR:
- Preserve throwable-based invalidation so failed borrowers are not
returned to the pool.
- Fix nested borrow hazards in `updateTableStatistics` and lock polling
paths under strict pool limits.
- Add FE unit coverage for normal return, invalidation, blocking borrow
reuse, close behavior, and single-client nested-call behavior.
suxiaogang223 added a commit to suxiaogang223/doris that referenced this pull request Apr 6, 2026
### What problem does this PR solve?

Problem Summary:

This PR migrates `ThriftHMSCachedClient` from a self-managed queue-based
HMS client pool to `commons-pool2` while keeping the external FE
interface unchanged.

It also clarifies the responsibility boundary of the HMS pool:
- The pool only manages FE-side client lifecycle, including create,
borrow/return, invalidate on failure, and destroy on close.
- Hive-side socket lifetime and reconnect remain handled by
`RetryingMetaStoreClient`.
- The pool does not interpret `hive.metastore.client.socket.lifetime` or
probe remote socket health.

Additional changes in this PR:
- Preserve throwable-based invalidation so failed borrowers are not
returned to the pool.
- Fix nested borrow hazards in `updateTableStatistics` and lock polling
paths under strict pool limits.
- Add FE unit coverage for normal return, invalidation, blocking borrow
reuse, close behavior, and single-client nested-call behavior.

(cherry picked from commit 528a964)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants