[improvement](fe) Migrate HMS client pool to Commons Pool#61553
[improvement](fe) Migrate HMS client pool to Commons Pool#61553morningman merged 8 commits intoapache:masterfrom
Conversation
### 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
|
Thank you for your contribution to Apache Doris. Please clearly describe your PR:
|
|
run buildall |
TPC-H: Total hot run time: 27018 ms |
TPC-DS: 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
|
run buildall |
|
run buildall |
TPC-H: Total hot run time: 26988 ms |
FE UT Coverage ReportIncrement line coverage |
TPC-DS: Total hot run time: 168894 ms |
|
/review |
There was a problem hiding this comment.
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 onisClosed(two threads can both pass the guard). This is benign becauseGenericObjectPool.close()is idempotent and thread-safe.ThriftHMSClient.close()correctly handles the race whereisClosedbecomes true between the check andreturnObject/invalidateObject—IllegalStateExceptionfrom pool closure is caught anddestroy()is called.isClosedis correctly markedvolatile.ThriftHMSClient.destroyedis not protected by synchronization anddestroy()has a check-then-act pattern, but sincedestroy()is only called from the pool'sdestroyObjector from theclose()method after pool operations fail, concurrentdestroy()calls would only cause a harmless doubleclient.close()onIMetaStoreClient.
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:
- (Medium) Raw type
GenericObjectPoolConfigshould be parameterized asGenericObjectPoolConfig<ThriftHMSClient>. - (Medium)
maxWaitMillis = -1(infinite wait) could cause indefinite thread blocking under a strict pool limit — consider adding a finite timeout. - (Low)
updateTableStatisticswrapsgetTableinugiDoAsbut notalter_table; same inconsistency exists forgetPartitionsByNames/alter_partitioninupdatePartitionStatistics. This is a pre-existing issue but partially introduced by this PR (since thegetTablecall was changed to useugiDoAsdirectly whilealter_tablewas not).
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java
Outdated
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java
Show resolved
Hide resolved
fe/fe-core/src/main/java/org/apache/doris/datasource/hive/ThriftHMSCachedClient.java
Show resolved
Hide resolved
### 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
|
run buildall |
|
run buildall |
FE UT Coverage ReportIncrement line coverage |
TPC-H: Total hot run time: 27219 ms |
TPC-DS: Total hot run time: 168638 ms |
|
PR approved by at least one committer and no changes requested. |
|
PR approved by anyone and no changes requested. |
### 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.
### 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.
### 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.
### 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)
What problem does this PR solve?
Issue Number: N/A
Related PR: N/A
Problem Summary:
This PR migrates
ThriftHMSCachedClientfrom a self-managed queue-based HMS client pool tocommons-pool2while keeping the external FE interface unchanged.It also clarifies the responsibility boundary of the HMS pool:
RetryingMetaStoreClient.hive.metastore.client.socket.lifetimeor probe remote socket health.Additional changes in this PR:
updateTableStatisticsand lock polling paths under strict pool limits.Release note
None
Check List (For Author)
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 reachedfe-corecompilation, but I did not wait for the full end-to-end completion in this environment.Behavior changed:
commons-pool2internally, while the pool scope is explicitly limited to FE-side lifecycle management.Does this need documentation?
Check List (For Reviewer who merge this PR)