This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new d239eba770b [chore](thirdparty) upgrade HADOOP_LIBS_3_4 to 
hadoop-3.4.2.4-for-doris (#66808)
d239eba770b is described below

commit d239eba770b4816c8ad59b2f18b4be7d29e45681
Author: Mingyu Chen (Rayner) <[email protected]>
AuthorDate: Mon Aug 17 09:45:23 2026 +0800

    [chore](thirdparty) upgrade HADOOP_LIBS_3_4 to hadoop-3.4.2.4-for-doris 
(#66808)
    
    ### What problem does this PR solve?
    
    Related PR: #66783, #66800
    
    Problem Summary:
    
    Picks up
    
[apache/doris-thirdparty#408](https://github.com/apache/doris-thirdparty/pull/408),
    tagged as `hadoop-3.4.2.4-for-doris`. The single change over
    `hadoop-3.4.2.3-for-doris` is that macOS no longer builds `libhdfspp`.
    
    That library does not link on macOS. It is compiled against Homebrew
    LLVM's libc++ headers, which are configured with
    `_LIBCPP_HAS_VENDOR_AVAILABILITY_ANNOTATIONS 0`, so
    `std::exception_ptr`'s post-macOS-14 entry points are emitted whatever
    `-mmacosx-version-min` says, while `-lc++` still resolves against the
    SDK's system libc++. Against a macOS 14 SDK that leaves
    `__cxa_init_primary_exception` and
    `std::exception_ptr::__from_native_exception_pointer` undefined, and the
    failing dylib takes the whole `make` down with it — `libhdfs.a`
    included:
    
    ```
    Undefined symbols for architecture arm64:
      "std::exception_ptr::__from_native_exception_pointer(void*)", referenced 
from:
          std::__1::promise<hdfs::Status>::~promise() in filesystem_sync.cc.o
          ...
    ld: symbol(s) not found for architecture arm64
    make[2]: *** [native/target/usr/local/lib/libhdfspp.0.1.0.dylib] Error 1
    ```
    
    Doris never links libhdfspp — `be/CMakeLists.txt:251` sets
    `BUILD_LIBHDFSPP OFF` — so the fork now stops after the x-platform
    object libraries `libhdfs` pulls out of that tree. `libhdfs.a`,
    `libhdfs.dylib`, `libhadoop.dylib`, `hdfs.h` and the jars are all
    unchanged.
    
    Linux is unaffected by the fork change, so this bump is a no-op there
    beyond the new tag. It is a prerequisite for #66800, which is where a
    macOS third-party build starts producing `lib/hadoop_hdfs_3_4/` and
    therefore where the failure above shows up — on the `macos-14` runner
    specifically. Note that master's `build-thirdparty.sh` still leaves
    `hadoop_libs_3_4` out of the macOS package list, so the macOS legs of
    this PR's CI do not exercise the fork change yet; #66800 is what turns
    it on.
    
    ### Release note
    
    None
    
    ### Check List (For Author)
    
    - Test
        - [x] Manual test (add detailed scripts or steps below)
    
    The fork was built end to end on macOS 26.5 / arm64 with the toolchain
    the macOS CI uses (Homebrew `llvm@20`, CMake 3.22.1, JDK 17,
    `MACOSX_DEPLOYMENT_TARGET=12.0`) before the tag was cut —
    hadoop-common-project 9/9, hadoop-hdfs-project 7/7, hadoop-dist all
    `BUILD SUCCESS`, producing
    
        ```
        lib/native/  libhadoop.dylib 159K   libhadoop.a 753K
                     libhdfs.dylib   133K   libhdfs.a   1.4M    arm64
        include/     hdfs.h
        ```
    
    with no `libhdfspp.dylib` (8.9M previously), and `libhdfs.a` still
    exporting `hdfsSetLogger`, `hdfsGetLastExceptionRootCause`,
    `hdfsBuilderSetKerb5Conf`, `hdfsBuilderSetKeyTabFile`,
    `hdfsUnbufferFile`, `hdfsFileGetReadStatistics`, `hdfsHSync` and
    `hdfsHFlush`.
    
    The tarball this PR points at was downloaded twice; the MD5 is stable
    and the archive unpacks to `doris-thirdparty-hadoop-3.4.2.4-for-doris/`
    as `HADOOP_LIBS_3_4_SOURCE` expects.
    
    - Behavior changed:
    - [x] No. Linux builds byte for byte the same library set; macOS drops a
    library nothing links.
    
    - Does this need documentation?
        - [x] No.
    
    ---------
    
    Co-authored-by: Claude Opus 5 (1M context) <[email protected]>
---
 thirdparty/CHANGELOG.md        | 4 ++++
 thirdparty/build-thirdparty.sh | 4 ++++
 thirdparty/vars.sh             | 8 ++++----
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/thirdparty/CHANGELOG.md b/thirdparty/CHANGELOG.md
index 1cb2e96a53b..8c049ea51bb 100644
--- a/thirdparty/CHANGELOG.md
+++ b/thirdparty/CHANGELOG.md
@@ -2,6 +2,10 @@
 
 This file contains version of the third-party dependency libraries in the 
build-env image. The docker build-env image is apache/doris, and the tag is 
`build-env-${version}`
 
+## 20260816
+
+- Modified: hadoop-libs 3.4.2.3 -> 3.4.2.4
+
 ## 20260814
 
 - Modified: hadoop-libs 3.4.2.2 -> 3.4.2.3
diff --git a/thirdparty/build-thirdparty.sh b/thirdparty/build-thirdparty.sh
index f44122ca1f3..6f0676e565a 100755
--- a/thirdparty/build-thirdparty.sh
+++ b/thirdparty/build-thirdparty.sh
@@ -2372,6 +2372,10 @@ if [[ "${#packages[@]}" -eq 0 ]]; then
     )
     if [[ "$(uname -s)" == 'Darwin' ]]; then
         read -r -a packages <<<"binutils gettext ${packages[*]}"
+        # hadoop_libs, the 3.3.6 fork, stays Linux-only: it carries none of 
the macOS fixes
+        # apache/doris-thirdparty#407 made to the 3.4 fork, and nothing built 
here reads its
+        # hadoop_hdfs/ prefix - the cloud module, its only other consumer, is 
Linux-only too.
+        read -r -a packages <<<"${packages[*]} hadoop_libs_3_4"
     elif [[ "$(uname -s)" == 'Linux' ]]; then
         read -r -a packages <<<"${packages[*]} hadoop_libs"
         read -r -a packages <<<"${packages[*]} hadoop_libs_3_4"
diff --git a/thirdparty/vars.sh b/thirdparty/vars.sh
index 211954c27a8..6a42bd00cf7 100644
--- a/thirdparty/vars.sh
+++ b/thirdparty/vars.sh
@@ -504,10 +504,10 @@ 
HADOOP_LIBS_SOURCE="doris-thirdparty-hadoop-3.3.6.6-for-doris"
 HADOOP_LIBS_MD5SUM="13b66d5f2abffd1740e692b65df5962e"
 
 # libhdfs 3.4
-HADOOP_LIBS_3_4_DOWNLOAD="https://github.com/apache/doris-thirdparty/archive/refs/tags/hadoop-3.4.2.3-for-doris.tar.gz";
-HADOOP_LIBS_3_4_NAME="hadoop-3.4.2.3-for-doris.tar.gz"
-HADOOP_LIBS_3_4_SOURCE="doris-thirdparty-hadoop-3.4.2.3-for-doris"
-HADOOP_LIBS_3_4_MD5SUM="a751a42f3a927c4a272a99d4e3788648"
+HADOOP_LIBS_3_4_DOWNLOAD="https://github.com/apache/doris-thirdparty/archive/refs/tags/hadoop-3.4.2.4-for-doris.tar.gz";
+HADOOP_LIBS_3_4_NAME="hadoop-3.4.2.4-for-doris.tar.gz"
+HADOOP_LIBS_3_4_SOURCE="doris-thirdparty-hadoop-3.4.2.4-for-doris"
+HADOOP_LIBS_3_4_MD5SUM="729a7ef9126f65255d1da124a88ffd50"
 
 # AvxToNeon
 
AVX2NEON_DOWNLOAD="https://github.com/kunpengcompute/AvxToNeon/archive/refs/tags/v1.0.0.tar.gz";


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to