Repository navigation
Conversation
…#3233) The Eigen and Valijson sources are cloned at CMake configure time from gitlab.com and github.com respectively. Those hosts occasionally return transient errors (e.g. GitLab "currently unable to handle this request due to load"), and a single failed clone was enough to break an entire CI build, requiring a manual rebuild. Wrap each clone in a bounded retry loop (5 attempts, increasing backoff) that starts from a clean slate on every attempt, so a brief hosting outage no longer fails the build. Also propagate the failure from the outer execute_process() calls that run these scripts. Previously the FATAL_ERROR raised inside the child `cmake -P` process was swallowed: configure logged the error but continued with an empty 3rd_party/eigen, so the failure only surfaced much later as a cryptic "Eigen/Core: No such file or directory" compile error. COMMAND_ERROR_IS_FATAL ANY makes configure stop immediately with the clear message once retries are exhausted, finally delivering the behaviour elastic#3164 intended. (cherry picked from commit bcce4aa)
|
Pinging @elastic/ml-core (Team:ML) |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Manual backport of #3233 to
8.19.The automatic backport could not be created because
3rd_party/CMakeLists.txtconflicts:mainhas a Linux-only Sandbox2/Abseil block in this file that does not exist on8.19. That block is unrelated to this change and has been omitted; only the intended change is applied here:COMMAND_ERROR_IS_FATAL ANYto the Eigen and Valijsonexecute_processcalls so an exhausted-retryFATAL_ERRORin the childcmake -Pscript stops configuration immediately instead of surfacing later as a cryptic missing-header compile error.ml_clone_git_dependency()helper in the newcmake/clone_git_dependency.cmakemodule (kept out ofcmake/functions.cmakeso it is safe toinclude()fromcmake -Pscript mode).pull-eigen.cmakeandpull-valijson.cmake.Verified: resolved
3rd_party/CMakeLists.txtcontains no sandbox/abseil references; the helper parses undercmake -P; diff limited to the four intended files.Made with Cursor