Aleksandr Efimov has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24358 )

Change subject: IMPALA-12955: Slim down profile tool deps
......................................................................


Patch Set 5:

Patch Set 5:

Rebased onto current master b8be513996 and addressed the remaining review 
feedback.

For the Status split concern:
- Dropped the partial status-core.cc class-method split.
- Moved GetStackTrace() into common/stack-trace.{h,cc}. Common and 
ProfileToolCommon now share the same StackTraceUtil object target.
- Moved TStatus, StatusPB, and HS2 status conversions out of Status methods 
into common/status-serialization.{h,cc} free functions. ProfileToolCommon links 
core Status plus stack trace only, while the full Common target links the 
serialization helpers too. This keeps the profile tool dependency-light without 
leaving a subset of Status methods in a special target that could surprise 
future linkers.
- Updated the backend call sites to use StatusFromThrift(), StatusFromProto(), 
StatusFromHS2Status(), StatusToThrift(), StatusToProto(), and free SetTStatus().

For the profile archive/base64 feedback:
- Added a comment tying the local buffer-length check to Base64DecodeBufLen() 
semantics.
- Split the archive errors so invalid base64 length and invalid base64 data are 
reported separately.

The CMake source-list sharing from PS4 is still in place so the profile-tool 
thrift and util subsets are derived from the full target source lists instead 
of duplicating them by hand.

Validation on exact PS5 source in a Lima VM:
- git diff --check
- ./buildall.sh -notests -noclean -cmake_only
- make -C be/src/util impala-profile-tool
- make -C be/src/common Common
- make Catalog Runtime Exec Scheduling Service Statestore
- bin/impala-py.test -q tests/observability/test_profile_tool.py 
tests/observability/test_profile_tool_dependencies.py: 8 passed
- ./buildall.sh -release -so -notests -noclean -cmake_only
- make -C be/src/util impala-profile-tool: release/shared
- be/build/latest/util/impala-profile-tool --help
- readelf -d be/build/latest/util/impala-profile-tool
- ldd be/build/latest/util/impala-profile-tool
- bin/impala-py.test -q tests/observability/test_profile_tool_dependencies.py: 
1 passed

The release/shared ldd output contains ProfileToolCommon, ProfileToolUtil, 
gutil, glog, gflags, protobuf, zlib, and C/C++ runtime libraries only. No HDFS, 
JVM, Kudu, SASL, Kerberos, SSL, or crypto dependency is pulled in.


--
To view, visit http://gerrit.cloudera.org:8080/24358
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: Id476411dcf6c46079e2e2addc5cdd552bc23f8a1
Gerrit-Change-Number: 24358
Gerrit-PatchSet: 5
Gerrit-Owner: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Joe McDonnell <[email protected]>
Gerrit-Reviewer: Michael Smith <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>
Gerrit-Comment-Date: Fri, 29 May 2026 11:28:31 +0000
Gerrit-HasComments: No

Reply via email to