arrow icon indicating copy to clipboard operation
arrow copied to clipboard

GH-46740: [C++] Update bundled Thrift to 0.22.0

Open kou opened this issue 6 months ago • 9 comments

Rationale for this change

Apache Thrift 0.22.0 has been released: https://github.com/apache/thrift/releases/tag/v0.22.0

What changes are included in this PR?

Update bundled Thrift version.

Are these changes tested?

Yes.

Are there any user-facing changes?

No.

  • GitHub Issue: #46740

kou avatar Jun 09 '25 07:06 kou

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

kou avatar Jun 09 '25 07:06 kou

:warning: GitHub issue #46740 has been automatically assigned in GitHub to PR creator.

github-actions[bot] avatar Jun 09 '25 07:06 github-actions[bot]

Revision: 22e86621bb7fe4f2b40678db9e9d121616a5b111

Submitted crossbow builds: ursacomputing/crossbow @ actions-e66c94ae55

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

github-actions[bot] avatar Jun 09 '25 07:06 github-actions[bot]

Hmm...

https://github.com/ursacomputing/crossbow/actions/runs/15529087541/job/43714065005#step:3:1300

-- stderr output is:
In file included from /build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/TApplicationException.h:23,
                 from /build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/TApplicationException.cpp:20:
/build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/Thrift.h:54:19: warning: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Wdeprecated-declarations]
   54 |     : public std::iterator<std::forward_iterator_tag, std::pair<int, const char*> > {
      |                   ^~~~~~~~
In file included from /usr/include/c++/13/bits/stl_iterator_base_funcs.h:66,
                 from /usr/include/c++/13/string:47,
                 from /build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/Thrift.h:37:
/usr/include/c++/13/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
In file included from /build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/TOutput.cpp:20:
/build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/Thrift.h:54:19: warning: 'template<class _Category, class _Tp, class _Distance, class _Pointer, class _Reference> struct std::iterator' is deprecated [-Wdeprecated-declarations]
   54 |     : public std::iterator<std::forward_iterator_tag, std::pair<int, const char*> > {
      |                   ^~~~~~~~
In file included from /usr/include/c++/13/bits/stl_iterator_base_funcs.h:66,
                 from /usr/include/c++/13/string:47,
                 from /build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/Thrift.h:37:
/usr/include/c++/13/bits/stl_iterator_base_types.h:127:34: note: declared here
  127 |     struct _GLIBCXX17_DEPRECATED iterator
      |                                  ^~~~~~~~
/build/arrow/thrift_ep-prefix/src/thrift_ep/lib/cpp/src/thrift/TUuid.cpp:22:10: fatal error: boost/uuid/string_generator.hpp: No such file or directory
   22 | #include <boost/uuid/string_generator.hpp>
      |          ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.

kou avatar Jun 09 '25 08:06 kou

std::iterator: Issue and PR are available:

  • https://issues.apache.org/jira/browse/THRIFT-5698
  • https://github.com/apache/thrift/pull/2778

But the PR closed because of no response from maintainers.

kou avatar Jun 09 '25 08:06 kou

@kou are we waiting for a 0.23.0 (or 0.22.1) version of Thrift? or should we apply the upstream patches that have been merged? Updating the version might fix the flaky issues we get downloading old Thrift.

raulcd avatar Jun 19 '25 09:06 raulcd

Ah, sorry. https://github.com/apache/arrow/issues/46745 is the blocker of this. I had a plan to work on #46745 after https://github.com/apache/arrow/pull/45306 is merged but I haven't worked on it yet.

kou avatar Jun 19 '25 10:06 kou

@kou are we waiting for a 0.23.0 (or 0.22.1) version of Thrift? or should we apply the upstream patches that have been merged? Updating the version might fix the flaky issues we get downloading old Thrift.

I think we can definitely wait for a fixed Thrift release.

pitrou avatar Jun 25 '25 08:06 pitrou

std::iterator is a warning not an error. So it's not a blocker of this. We can use Thrift 0.22.0 (that doesn't include the changes for std::iterator).

boost/uuid is a blocker because our CMake configuration for Boost doesn't find boost/uuid.

(Sorry, not working on this yet...)

kou avatar Jun 25 '25 08:06 kou

I close this in favor of #46912. #46912 updates bundled Boost and Apache Thrift. I want to update them separately but there are coupled. So I couldn't do it.

kou avatar Jul 07 '25 03:07 kou