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


##########
build.sh:
##########
@@ -496,21 +495,10 @@ if [[ ! -f 
"${DORIS_THIRDPARTY}/installed/lib/${LAST_THIRDPARTY_LIB}" ||
       ! -f "${DORIS_THIRDPARTY}/installed/include/paimon_rust/paimon.h" ||
       ! -s "${DORIS_THIRDPARTY}/installed/lib64/libpaimon_c.a" ||
       ! -s "${DORIS_THIRDPARTY}/installed/include/paimon_rust/paimon.h" ||
-      -e "${DORIS_THIRDPARTY}/installed/lib64/.paimon-installing" ]] ||
-        ! lance_c_install_is_current "${DORIS_HOME}/thirdparty" 
"${DORIS_THIRDPARTY}/installed"; then
-    # External trees can be partially updated or pinned to another revision. 
Preserve
-    # the existing prefix unless their build inputs can produce the requested 
Lance version.
-    for input in build-thirdparty.sh download-thirdparty.sh vars.sh 
lance-install.sh patches/lance-c-foyer.patch; do
-        if [[ ! -f "${DORIS_THIRDPARTY}/${input}" || ! -r 
"${DORIS_THIRDPARTY}/${input}" ]]; then
-            echo "Third-party dependencies require a rebuild, but ${input} is 
missing or unreadable." >&2
-            echo "Refresh the compilation image or set DORIS_THIRDPARTY to a 
complete third-party source tree." >&2
-            exit 1
-        fi
-    done
-    if ! expected_lance_fingerprint="$(lance_c_install_fingerprint 
"${DORIS_HOME}/thirdparty")" ||
-       ! rebuild_lance_fingerprint="$(lance_c_install_fingerprint 
"${DORIS_THIRDPARTY}")" ||
-       [[ "${rebuild_lance_fingerprint}" != "${expected_lance_fingerprint}" 
]]; then
-        echo "Lance rebuild sources do not match this checkout; installed 
dependencies have been preserved." >&2
+      -e "${DORIS_THIRDPARTY}/installed/lib64/.paimon-installing" ]]; then

Review Comment:
   [P2] Keep an incomplete-install signal for the Lance header/archive pair. 
`build_lance_c` removes and replaces `include/lance` before 
`install_rust_archive` renames the new archive. If that build fails between 
those steps, the old `liblance_c.a` still satisfies this gate while its headers 
are missing or already describe the new prewarm symbol. A later build skips 
repair, leaving an incomplete dependency pair that fails when the new API is 
consumed. Please retain a completion marker (or equivalent pair check) 
invalidated before header replacement and checked here; also reject empty 
archives and headers.



##########
build.sh:
##########
@@ -496,21 +495,10 @@ if [[ ! -f 
"${DORIS_THIRDPARTY}/installed/lib/${LAST_THIRDPARTY_LIB}" ||
       ! -f "${DORIS_THIRDPARTY}/installed/include/paimon_rust/paimon.h" ||
       ! -s "${DORIS_THIRDPARTY}/installed/lib64/libpaimon_c.a" ||
       ! -s "${DORIS_THIRDPARTY}/installed/include/paimon_rust/paimon.h" ||
-      -e "${DORIS_THIRDPARTY}/installed/lib64/.paimon-installing" ]] ||
-        ! lance_c_install_is_current "${DORIS_HOME}/thirdparty" 
"${DORIS_THIRDPARTY}/installed"; then
-    # External trees can be partially updated or pinned to another revision. 
Preserve
-    # the existing prefix unless their build inputs can produce the requested 
Lance version.
-    for input in build-thirdparty.sh download-thirdparty.sh vars.sh 
lance-install.sh patches/lance-c-foyer.patch; do
-        if [[ ! -f "${DORIS_THIRDPARTY}/${input}" || ! -r 
"${DORIS_THIRDPARTY}/${input}" ]]; then
-            echo "Third-party dependencies require a rebuild, but ${input} is 
missing or unreadable." >&2
-            echo "Refresh the compilation image or set DORIS_THIRDPARTY to a 
complete third-party source tree." >&2
-            exit 1
-        fi
-    done
-    if ! expected_lance_fingerprint="$(lance_c_install_fingerprint 
"${DORIS_HOME}/thirdparty")" ||
-       ! rebuild_lance_fingerprint="$(lance_c_install_fingerprint 
"${DORIS_THIRDPARTY}")" ||
-       [[ "${rebuild_lance_fingerprint}" != "${expected_lance_fingerprint}" 
]]; then
-        echo "Lance rebuild sources do not match this checkout; installed 
dependencies have been preserved." >&2
+      -e "${DORIS_THIRDPARTY}/installed/lib64/.paimon-installing" ]]; then
+    # Compilation images may contain only installed artifacts; never erase 
them without a rebuild source.
+    if [[ ! -f "${DORIS_THIRDPARTY}/build-thirdparty.sh" ]]; then

Review Comment:
   [P2] Validate every rebuild input before removing the installed prefix. An 
external `DORIS_THIRDPARTY` tree can contain `build-thirdparty.sh` but lack 
`download-thirdparty.sh` or `vars.sh`. If one sentinel is missing, this check 
passes, `rm -rf installed` erases the remaining libraries, and the builder 
exits at its mandatory-file checks before rebuilding anything. Check those 
inputs here before cleanup so a partial compilation image remains recoverable.



-- 
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