Skip to content

GH-46746: [C++] Assume AWS SDK >= 1.11.0 #46742

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 24, 2025
Merged

Conversation

pitrou
Copy link
Member

@pitrou pitrou commented Jun 9, 2025

Rationale for this change

We're currently carrying compatibility code for AWS SDK before 1.9.0. However, we almost always bundled our own build of AWS SDK, so we should be able to rely on a more recent version. Version 1.11.0 was released in January 2023, which is already 2.5 years ago, so this should be a reasonable target.

This will make the S3 filesystem code more maintainable.

Are these changes tested?

Yes, on existing CI builds.

Are there any user-facing changes?

Users won't be able to build Arrow C++ if they have a very old version of the AWS SDK installed, unless they pass -DAWSSDK_SOURCE=BUNDLED.

Copy link

github-actions bot commented Jun 9, 2025

Thanks for opening a pull request!

If this is not a minor PR. Could you open an issue for this pull request on GitHub? https://github.com/apache/arrow/issues/new/choose

Opening GitHub issues ahead of time contributes to the Openness of the Apache Arrow project.

Then could you also rename the pull request title in the following format?

GH-${GITHUB_ISSUE_ID}: [${COMPONENT}] ${SUMMARY}

or

MINOR: [${COMPONENT}] ${SUMMARY}

See also:

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

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

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

@github-actions crossbow submit wheelcp313*

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

@github-actions crossbow submit -g r

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

@pitrou pitrou added the CI: Extra Run extra CI label Jun 9, 2025
@pitrou pitrou changed the title EXP: [C++] Assume AWS SDK >= 1.11.0 GH-46746: [C++] Assume AWS SDK >= 1.11.0 Jun 9, 2025
@pitrou pitrou marked this pull request as ready for review June 9, 2025 08:56
@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

CI failures are unrelated.

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

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

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

@github-actions crossbow submit wheelcp313*

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

@github-actions crossbow submit -g r

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

Oh, I had missed that our bundled version is still 1.10.55 (!). It was released in January 2023...

@pitrou pitrou marked this pull request as draft June 9, 2025 09:52
@pitrou
Copy link
Member Author

pitrou commented Jun 9, 2025

I'm switching to draft until #45306 is merged.

@pitrou
Copy link
Member Author

pitrou commented Jun 18, 2025

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

@pitrou
Copy link
Member Author

pitrou commented Jun 18, 2025

@github-actions crossbow wheelcp313*

@pitrou
Copy link
Member Author

pitrou commented Jun 18, 2025

@github-actions crossbow submit -g r

Copy link

No such command '*wheel*cp313*'.
The Archery job run can be found at: https://github.com/apache/arrow/actions/runs/15727028902

@pitrou pitrou closed this Jun 18, 2025
@pitrou pitrou reopened this Jun 18, 2025
@pitrou
Copy link
Member Author

pitrou commented Jun 18, 2025

@github-actions crossbow submit wheelcp313*

This comment was marked as outdated.

This comment was marked as outdated.

This comment was marked as outdated.

@pitrou pitrou marked this pull request as ready for review June 18, 2025 12:49
@pitrou pitrou requested a review from kou June 18, 2025 12:49
@pitrou
Copy link
Member Author

pitrou commented Jun 18, 2025

@github-actions crossbow submit -g r

This comment was marked as outdated.

Copy link
Member

@kou kou left a comment

Choose a reason for hiding this comment

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

+1

@github-actions github-actions bot added awaiting merge Awaiting merge and removed awaiting review Awaiting review labels Jun 19, 2025
@pitrou
Copy link
Member Author

pitrou commented Jun 24, 2025

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

@pitrou
Copy link
Member Author

pitrou commented Jun 24, 2025

@github-actions crossbow submit wheelcp313*

Copy link

Revision: bcbeaf9

Submitted crossbow builds: ursacomputing/crossbow @ actions-c8b603b831

Task Status
wheel-macos-monterey-cp313-cp313-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313-arm64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-amd64 GitHub Actions
wheel-macos-monterey-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2-28-cp313-cp313t-arm64 GitHub Actions
wheel-manylinux-2014-cp313-cp313-amd64 GitHub Actions
wheel-manylinux-2014-cp313-cp313-arm64 GitHub Actions
wheel-manylinux-2014-cp313-cp313t-amd64 GitHub Actions
wheel-manylinux-2014-cp313-cp313t-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313-arm64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-amd64 GitHub Actions
wheel-musllinux-1-2-cp313-cp313t-arm64 GitHub Actions
wheel-windows-cp313-cp313-amd64 GitHub Actions
wheel-windows-cp313-cp313t-amd64 GitHub Actions

Copy link

Revision: bcbeaf9

Submitted crossbow builds: ursacomputing/crossbow @ actions-0e0f175ff0

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

@pitrou pitrou merged commit 85b4e6d into apache:main Jun 24, 2025
36 of 38 checks passed
@pitrou pitrou removed the awaiting merge Awaiting merge label Jun 24, 2025
@pitrou pitrou deleted the aws-sdk-ver branch June 24, 2025 09:02
Comment on lines +95 to 98
// Keep this in sync with ThirdPartyToolChain.cmake
#if !defined(AWS_SDK_VERSION_MAJOR) || !ARROW_AWS_SDK_VERSION_CHECK(1, 11, 0)
# error "AWS SDK version 1.11.0 or later is required"
#endif
Copy link
Member

Choose a reason for hiding this comment

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

We can remove this because we have the same check in CMake. CMake rejects older AWS SDK for C++. So we don't need to check this here.

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought this might be useful for Meson.

Copy link
Member

Choose a reason for hiding this comment

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

Ah. @WillAyd Could you remove this when you add AWS SDK for C++ support to our Meson configuration?

Copy link
Contributor

Choose a reason for hiding this comment

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

No problem - that and GCS support are likely some of the last things to be done for full Meson coverage, so we have some time :-)

@github-actions github-actions bot added the awaiting changes Awaiting changes label Jun 24, 2025
Copy link

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

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

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

Successfully merging this pull request may close these issues.

3 participants