[
https://issues.apache.org/jira/browse/KUDU-3788?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18117857#comment-18117857
]
ASF subversion and git services commented on KUDU-3788:
-------------------------------------------------------
Commit e4a7274b7f656c5a3403e13a9113f093660f9061 in kudu's branch
refs/heads/master from Alexey Serbin
[ https://gitbox.apache.org/repos/asf?p=kudu.git;h=e4a7274b7 ]
KUDU-3788 an option to keep existing symlinks in /opt/kudu/thirdparty
This changelist introduces an option to avoid re-creation of symbolic
links from /opt/kudu/thirdparty to the actual location of pre-built
3rd-party artifacts when building Kudu 3rd-party components.
The behavior is controlled by the newly introduced env/shell variable
PREBUILT_THIRDPARTY_RECREATE_SYMLINKS, which is set to 1 by default.
In multi-tenant environments with multiple concurrent actors each using
its own Kudu workspace but exactly same versions of 3rd-party
components, setting PREBUILT_THIRDPARTY_RECREATE_SYMLINKS=0 helps to
avoid races that often lead to build failures of earlier started builds.
Change-Id: I22f612f343a3f5ea3cca48836ebc76a167af59e7
Reviewed-on: http://gerrit.cloudera.org:8080/24869
Tested-by: Alexey Serbin <[email protected]>
Reviewed-by: Abhishek Chennaka <[email protected]>
> Allow fethcing and using pre-built 3rd-party components when building Kudu
> --------------------------------------------------------------------------
>
> Key: KUDU-3788
> URL: https://issues.apache.org/jira/browse/KUDU-3788
> Project: Kudu
> Issue Type: Improvement
> Reporter: Alexey Serbin
> Assignee: Alexey Serbin
> Priority: Major
> Fix For: 1.19.0
>
>
> It would be nice to allow to fetch and use pre-built 3rd-party components
> when building Kudu. Each of the 3rd-party components should be checked
> against a presence of pre-built version that matches the machine architecture
> and OS, and the matching rule should compare at least the following
> attributes:
> * Component name (e.g., gflags)
> * Component version (minor, major, patch, or just source hash if no semantic
> versioning is available)
> * The machine's CPU architecture that binaries/libraries are built for (e.g.,
> x86_64, arm64)
> * OS name or flavor/distro name if applicable (e.g., macOS, Ubuntu, Debian,
> RHEL, etc.)
> * OS version: major, minor (e.g., 9.1 for RHEL, 24.04 for Ubuntu, 15.7 for
> macOS, etc.)
> * The toolchain that the bits are built with: compiler name, major and minor
> versions, and the standard C++ library flavor where applicable (e.g.,
> gcc-10.5-libstdc++, clang-15.0)
> * Sanitizer option: TSAN if built with tread sanitizer support, or none if a
> regular build
--
This message was sent by Atlassian Jira
(v8.20.10#820010)