github-actions[bot] commented on code in PR #66221:
URL: https://github.com/apache/doris/pull/66221#discussion_r3709628722


##########
build.sh:
##########
@@ -453,16 +453,43 @@ if [[ "${TARGET_SYSTEM}" == 'Darwin' ]]; then
 else
     LAST_THIRDPARTY_LIB='hadoop_hdfs/native/libhdfs.a'
 fi
-if [[ ! -f "${DORIS_THIRDPARTY}/installed/lib/${LAST_THIRDPARTY_LIB}" ]]; then
-    echo "Thirdparty libraries need to be build ..."
-    # need remove all installed pkgs because some lib like lz4 will throw 
error if its lib alreay exists
-    rm -rf "${DORIS_THIRDPARTY}/installed"
 
-    if [[ "${CLEAN}" -eq 0 ]]; then
-        bash "${DORIS_THIRDPARTY}/build-thirdparty.sh" -j "${PARALLEL}"
-    else
-        bash "${DORIS_THIRDPARTY}/build-thirdparty.sh" -j "${PARALLEL}" --clean
+# The final-library sentinel only proves that some third-party build 
completed. It cannot
+# distinguish an older prebuilt whose Arrow/Paimon closure predates the 
selected sources.
+# shellcheck source=thirdparty/arrow-paimon-vars.sh
+. "${DORIS_HOME}/thirdparty/arrow-paimon-vars.sh"
+ARROW_PAIMON_THIRDPARTY_VALID=false
+if arrow_paimon_prebuilt_valid "${DORIS_THIRDPARTY}/installed"; then
+    ARROW_PAIMON_THIRDPARTY_VALID=true
+fi
+
+rebuild_thirdparty_libraries() {
+    local remove_installed="$1"
+    shift
+    local build_script="${DORIS_THIRDPARTY}/build-thirdparty.sh"
+    local build_args=(-j "${PARALLEL}")

Review Comment:
   [P1] Fence recovery to the current third-party revision
   
   The validator above derives Arrow/Paimon fingerprints from this checkout, 
but recovery switches to `${DORIS_THIRDPARTY}/build-thirdparty.sh`. If that 
points at a complete older Doris third-party tree, its builder derives its own 
`DORIS_HOME` and can successfully rebuild Arrow/Paimon from that tree's inputs; 
this script then continues without rerunning the current validator. Current 
CMake can consequently fail late on Arrow 24 compatibility or consume a mixed 
stale installation. Reject a revision-mismatched external builder (or require 
the user to unset `DORIS_THIRDPARTY`) and enforce `arrow_paimon_prebuilt_valid` 
after recovery.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


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

Reply via email to