Skip to content

Conversation

kou
Copy link
Member

@kou kou commented Jun 26, 2025

Rationale for this change

Bundled Boost 1.81.0 and Apache Thrift 0.22.0 are old.

It's difficult to upgrade only Boost because Apache Thrift depends on Boost. So this PR updates bundled Boost and Apache Thrift.

What changes are included in this PR?

  • Update bundled Boost:
    • Use CMake based build instead of b2
    • Use FetchContent not ExternalProject
    • Stop using our trimmed Boost source archive
  • Update bundled Apache Thrift:
    • Use FetchContent not ExternalProject

Are these changes tested?

Yes.

Are there any user-facing changes?

Yes.

Copy link

⚠️ GitHub issue #46745 has been automatically assigned in GitHub to PR creator.

@kou
Copy link
Member Author

kou commented Jun 26, 2025

@github-actions crossbow submit -g cpp -g r -g python -g linux

@kou kou added the CI: Extra Run extra CI label Jun 26, 2025
@github-actions github-actions bot added the awaiting committer review Awaiting committer review label Jun 26, 2025

This comment was marked as outdated.

@kou kou force-pushed the cpp-boost branch 15 times, most recently from 7cc8462 to 87feab0 Compare June 26, 2025 08:36
@kou kou force-pushed the cpp-boost branch 8 times, most recently from 7544ecb to e26a807 Compare June 27, 2025 01:02
@kou
Copy link
Member Author

kou commented Jul 7, 2025

@github-actions crossbow submit -g cpp -g r -g python -g linux

@github-actions github-actions bot added awaiting change review Awaiting change review awaiting changes Awaiting changes and removed awaiting changes Awaiting changes awaiting change review Awaiting change review labels Jul 7, 2025
Copy link

github-actions bot commented Jul 7, 2025

Revision: 3e7126e

Submitted crossbow builds: ursacomputing/crossbow @ actions-73cd498af8

Task Status
almalinux-10-amd64 GitHub Actions
almalinux-10-arm64 GitHub Actions
almalinux-8-amd64 GitHub Actions
almalinux-8-arm64 GitHub Actions
almalinux-9-amd64 GitHub Actions
almalinux-9-arm64 GitHub Actions
amazon-linux-2023-amd64 GitHub Actions
amazon-linux-2023-arm64 GitHub Actions
centos-7-amd64 GitHub Actions
centos-9-stream-amd64 GitHub Actions
centos-9-stream-arm64 GitHub Actions
debian-bookworm-amd64 GitHub Actions
debian-bookworm-arm64 GitHub Actions
debian-trixie-amd64 GitHub Actions
debian-trixie-arm64 GitHub Actions
example-cpp-minimal-build-static GitHub Actions
example-cpp-minimal-build-static-system-dependency GitHub Actions
example-cpp-tutorial GitHub Actions
example-python-minimal-build-fedora-conda GitHub Actions
example-python-minimal-build-ubuntu-venv GitHub Actions
r-binary-packages GitHub Actions
r-recheck-most GitHub Actions
test-build-cpp-fuzz GitHub Actions
test-conda-cpp GitHub Actions
test-conda-cpp-valgrind GitHub Actions
test-conda-python-3.10 GitHub Actions
test-conda-python-3.10-hdfs-2.9.2 GitHub Actions
test-conda-python-3.10-hdfs-3.2.1 GitHub Actions
test-conda-python-3.10-pandas-latest-numpy-latest GitHub Actions
test-conda-python-3.11 GitHub Actions
test-conda-python-3.11-dask-latest GitHub Actions
test-conda-python-3.11-dask-upstream_devel GitHub Actions
test-conda-python-3.11-hypothesis GitHub Actions
test-conda-python-3.11-pandas-latest-numpy-1.26 GitHub Actions
test-conda-python-3.11-pandas-latest-numpy-latest GitHub Actions
test-conda-python-3.11-pandas-nightly-numpy-nightly GitHub Actions
test-conda-python-3.11-pandas-upstream_devel-numpy-nightly GitHub Actions
test-conda-python-3.11-spark-master GitHub Actions
test-conda-python-3.12 GitHub Actions
test-conda-python-3.12-cpython-debug GitHub Actions
test-conda-python-3.13 GitHub Actions
test-conda-python-3.9 GitHub Actions
test-conda-python-3.9-pandas-1.1.3-numpy-1.19.5 GitHub Actions
test-conda-python-emscripten GitHub Actions
test-cuda-cpp-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-cuda-python-ubuntu-22.04-cuda-11.7.1 GitHub Actions
test-debian-12-cpp-amd64 GitHub Actions
test-debian-12-cpp-i386 GitHub Actions
test-debian-12-python-3-amd64 GitHub Actions
test-debian-12-python-3-i386 GitHub Actions
test-fedora-39-cpp GitHub Actions
test-fedora-39-python-3 GitHub Actions
test-r-arrow-backwards-compatibility GitHub Actions
test-r-depsource-bundled Azure
test-r-depsource-system GitHub Actions
test-r-dev-duckdb GitHub Actions
test-r-devdocs GitHub Actions
test-r-extra-packages GitHub Actions
test-r-gcc-11 GitHub Actions
test-r-gcc-12 GitHub Actions
test-r-install-local GitHub Actions
test-r-install-local-minsizerel GitHub Actions
test-r-linux-as-cran GitHub Actions
test-r-linux-rchk GitHub Actions
test-r-linux-sanitizers GitHub Actions
test-r-linux-valgrind GitHub Actions
test-r-m1-san GitHub Actions
test-r-macos-as-cran GitHub Actions
test-r-minimal-build Azure
test-r-offline-maximal GitHub Actions
test-r-offline-minimal Azure
test-r-rhub-debian-gcc-devel-lto-latest Azure
test-r-rhub-debian-gcc-release-custom-ccache Azure
test-r-rhub-ubuntu-release-latest Azure
test-r-rocker-r-ver-latest Azure
test-r-rstudio-r-base-4.1-opensuse155 Azure
test-r-rstudio-r-base-4.2-focal Azure
test-r-ubuntu-22.04 GitHub Actions
test-r-versions GitHub Actions
test-ubuntu-22.04-cpp GitHub Actions
test-ubuntu-22.04-cpp-20 GitHub Actions
test-ubuntu-22.04-cpp-bundled GitHub Actions
test-ubuntu-22.04-cpp-emscripten GitHub Actions
test-ubuntu-22.04-cpp-no-threading GitHub Actions
test-ubuntu-22.04-python-3 GitHub Actions
test-ubuntu-22.04-python-313-freethreading GitHub Actions
test-ubuntu-24.04-cpp GitHub Actions
test-ubuntu-24.04-cpp-bundled-offline GitHub Actions
test-ubuntu-24.04-cpp-gcc-13-bundled GitHub Actions
test-ubuntu-24.04-cpp-gcc-14 GitHub Actions
test-ubuntu-24.04-cpp-minimal-with-formats GitHub Actions
test-ubuntu-24.04-cpp-thread-sanitizer GitHub Actions
test-ubuntu-24.04-python-3 GitHub Actions
ubuntu-jammy-amd64 GitHub Actions
ubuntu-jammy-arm64 GitHub Actions
ubuntu-noble-amd64 GitHub Actions
ubuntu-noble-arm64 GitHub Actions

@kou
Copy link
Member Author

kou commented Jul 8, 2025

FYI: This will reduce Apache Thrift download related CI failures because this uses the latest Apache Thrift.

@zhjwpku
Copy link
Contributor

zhjwpku commented Jul 8, 2025

FYI: This will reduce Apache Thrift download related CI failures because this uses the latest Apache Thrift.

The iceberg-cpp project is seeing frequent CI failures due to issues downloading Apache Thrift as part of Arrow's setup. So +1.

Copy link
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @kou for working on this!

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting changes Awaiting changes labels Jul 8, 2025
@raulcd raulcd merged commit f12356a into apache:main Jul 8, 2025
41 checks passed
@raulcd raulcd removed the awaiting merge Awaiting merge label Jul 8, 2025
@kou kou deleted the cpp-boost branch July 8, 2025 07:43
@raulcd
Copy link
Member

raulcd commented Jul 8, 2025

This just missed the 21.0.0 release, @kou do you think that's ok or should we cherry-pick? Thinking about the thrift download related failures.
cc @amoeba

@kou
Copy link
Member Author

kou commented Jul 8, 2025

Let's add this to 21.0.0 to reduce CI failures. It'll reduce 21.0.0 release costs. (We don't need to re-run jobs several times...)

zhjwpku added a commit to zhjwpku/iceberg-cpp that referenced this pull request Jul 8, 2025
The commit includes apache/arrow#46912,
which are resolve our frequent CI failures.
amoeba pushed a commit that referenced this pull request Jul 8, 2025
….22.0 (#46912)

### Rationale for this change

Bundled Boost 1.81.0 and Apache Thrift 0.22.0 are old.

It's difficult to upgrade only Boost because Apache Thrift depends on Boost. So this PR updates bundled Boost and Apache Thrift. 

### What changes are included in this PR?

* Update bundled Boost:
  * Use CMake based build instead of b2
  * Use FetchContent not ExternalProject 
  * Stop using our trimmed Boost source archive
* Update bundled Apache Thrift:
  * Use FetchContent not ExternalProject 

### Are these changes tested?

Yes.

### Are there any user-facing changes?

Yes.
* GitHub Issue: #46745
* GitHub Issue: #46740

Authored-by: Sutou Kouhei <[email protected]>
Signed-off-by: Raúl Cumplido <[email protected]>
Copy link

After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit f12356a.

There were no benchmark performance regressions. 🎉

The full Conbench report has more details. It also includes information about 14 possible false positives for unstable benchmarks that are known to sometimes produce them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants