Skip to content

GH-38697: [C++][Gandiva] Use arrow io util to replace std::filesystem::path in gandiva - #38698

Merged
pitrou merged 3 commits into
apache:mainfrom
niyue:bugfix/io-util
Nov 15, 2023
Merged

GH-38697: [C++][Gandiva] Use arrow io util to replace std::filesystem::path in gandiva#38698
pitrou merged 3 commits into
apache:mainfrom
niyue:bugfix/io-util

Conversation

@niyue

@niyueniyue commented Nov 14, 2023

Copy link
Copy Markdown
Contributor

Rationale for this change

AlmaLinux 8 CI reported linker failure when std::filesystem::path is used, and This PR tries to it.

What changes are included in this PR?

Replace std::filesystem::path in Gandiva with Arrow's internal io util so that AlmaLinux 8 CI build can work.

Are these changes tested?

It should be covered by existing tests and CI.

Are there any user-facing changes?

No

@github-actions

Copy link
Copy Markdown

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

Comment threadcpp/src/gandiva/tests/test_util.cc Outdated

Copy link
Copy Markdown
ContributorAuthor

Choose a reason for hiding this comment

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

Previously this DefaultConfiguration function is called by creating a new instance of ConfigurationBuilder, but I think this is not necessary since it is a static function of ConfigurationBuilder, so I change it as well.

@pitrou

Copy link
Copy Markdown
Member

This PR tries to fix #38697

It would be better to make the PR description self-contained, can you update this?

@pitrou
pitrou requested a review from js8544November 14, 2023 16:32
@pitrou

Copy link
Copy Markdown
Member

@github-actions crossbow submit -g cpp

@github-actions

This comment was marked as outdated.

@pitrou

Copy link
Copy Markdown
Member

@niyue There are Windows failures that need fixing.

@niyue

Copy link
Copy Markdown
ContributorAuthor

It would be better to make the PR description self-contained

Sure. Updated.

@js8544

Copy link
Copy Markdown
Contributor

The AppVeyor check is still failing: https://ci.appveyor.com/project/ApacheSoftwareFoundation/arrow/builds/48524728. std::wstring can't be constructed directly without encoding.
Perhaps we should use PlatformFilename::FromString and DCHECK the result instead?

@niyue

Copy link
Copy Markdown
ContributorAuthor

Perhaps we should use PlatformFilename::FromString and DCHECK the result instead?

Thanks for the suggestion. I took the approach and it did work. And Windows build should be okay now.

@js8544js8544 left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

+1. Thanks!

@pitrou

Copy link
Copy Markdown
Member

@github-actions crossbow submit -g cpp

@pitrou

Copy link
Copy Markdown
Member

@github-actions crossbow submit almalinux

@github-actions

Copy link
Copy Markdown

Revision: 5ae2764

Submitted crossbow builds: ursacomputing/crossbow @ actions-fe6233792a

TaskStatus
almalinux-8-amd64Github Actions
almalinux-8-arm64Github Actions
almalinux-9-amd64Github Actions
almalinux-9-arm64Github Actions
verify-rc-binaries-jars-linux-almalinux-8-amd64Github Actions
verify-rc-binaries-wheels-linux-almalinux-8-amd64Github Actions
verify-rc-source-cpp-linux-almalinux-8-amd64Github Actions
verify-rc-source-csharp-linux-almalinux-8-amd64Github Actions
verify-rc-source-go-linux-almalinux-8-amd64Github Actions
verify-rc-source-integration-linux-almalinux-8-amd64Github Actions
verify-rc-source-java-linux-almalinux-8-amd64Github Actions
verify-rc-source-js-linux-almalinux-8-amd64Github Actions
verify-rc-source-python-linux-almalinux-8-amd64Github Actions
verify-rc-source-ruby-linux-almalinux-8-amd64Github Actions

@github-actions

Copy link
Copy Markdown

Revision: 5ae2764

Submitted crossbow builds: ursacomputing/crossbow @ actions-d28ae2b20a

TaskStatus
test-alpine-linux-cppGithub Actions
test-build-cpp-fuzzGithub Actions
test-conda-cppGithub Actions
test-conda-cpp-valgrindAzure
test-cuda-cppGithub Actions
test-debian-11-cpp-amd64Github Actions
test-debian-11-cpp-i386Github Actions
test-fedora-38-cppGithub Actions
test-ubuntu-20.04-cppGithub Actions
test-ubuntu-20.04-cpp-bundledGithub Actions
test-ubuntu-20.04-cpp-minimal-with-formatsGithub Actions
test-ubuntu-20.04-cpp-thread-sanitizerGithub Actions
test-ubuntu-22.04-cppGithub Actions
test-ubuntu-22.04-cpp-20Github Actions
test-ubuntu-22.04-cpp-no-threadingGithub Actions

Comment threadcpp/src/gandiva/tests/test_util.cc Outdated
niyueand others added 2 commits November 15, 2023 22:44
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
@pitrou

Copy link
Copy Markdown
Member

Sorry for the misleading code suggestion. I've pushed a fix.

@pitrou
pitrou merged commit 41e45fe into apache:mainNov 15, 2023
@pitroupitrou removed the awaiting committer review Awaiting committer review label Nov 15, 2023
@conbench-apache-arrow

Copy link
Copy Markdown

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

There were no benchmark performance regressions. 🎉

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

@niyue

niyue commented Nov 16, 2023

Copy link
Copy Markdown
ContributorAuthor

Sorry for the misleading code suggestion

Sorry I should really verify this on my mac. I happened to use GitHub iOS app on the iPad yesterday night when I saw this, and I found the first time that the app provides a feature allowing me to apply the fix and resolve the conversation directly without opening any text editor so I gave it a try. Thanks for the fix.

dgreiss pushed a commit to dgreiss/arrow that referenced this pull request Feb 19, 2024
…system::path in gandiva (apache#38698)
### Rationale for this change
AlmaLinux 8 CI reported linker failure when `std::filesystem::path` is used, and This PR tries to it.
### What changes are included in this PR?
Replace replace `std::filesystem::path` in gandiva with arrow's internal io util so that AlmaLinux 8 CI build can work.
### Are these changes tested?
It should be covered by existing tests and CI.
### Are there any user-facing changes?
No
* Closes: apache#38697
Lead-authored-by: Yue Ni <niyue.com@gmail.com>
Co-authored-by: Yue <niyue.com@gmail.com>
Co-authored-by: Antoine Pitrou <antoine@python.org>
Co-authored-by: Antoine Pitrou <pitrou@free.fr>
Signed-off-by: Antoine Pitrou <antoine@python.org>
Sign up for freeto 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.

[C++][Gandiva] AlmaLinux 8 CI build failed due to std::filesystem::path usage

3 participants

@niyue@pitrou@js8544