GH-45225: [C++] Upgrade ORC to 2.1.0#45226
Conversation
|
|
|
Hmm. There are some CI failures with ORC 2.1.0... Could you remove a workaround for ORC 2.0.2? arrow/cpp/cmake_modules/ThirdpartyToolchain.cmake Lines 4670 to 4672 in 913cb58 |
|
Yes, I will take a look and fix it.
Just to confirm that we can drop the support of ORC versions prior to 2.1.0, right? |
|
My bad! I found an issue here: https://github.com/apache/orc/blob/5bbafbb847f6e23b5a25d83c4d817741d36d9cc8/c%2B%2B/src/CMakeLists.txt#L221-L222 I should use |
Right. But it's only for bundled ORC. We keep old ORC support for system ORC (not bundled ORC). |
|
@kou Is it fine to disable ORC in |
|
We can install diff --git a/ci/docker/ubuntu-20.04-cpp.dockerfile b/ci/docker/ubuntu-20.04-cpp.dockerfile
index 8dc778d544..259c5fb77f 100644
--- a/ci/docker/ubuntu-20.04-cpp.dockerfile
+++ b/ci/docker/ubuntu-20.04-cpp.dockerfile
@@ -106,6 +106,7 @@ RUN apt-get update -y -q && \
ninja-build \
nlohmann-json3-dev \
npm \
+ patch \
pkg-config \
protobuf-compiler \
python3-dev \ |
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
This comment was marked as outdated.
|
@github-actions crossbow submit -g cpp |
|
Revision: 2b0a4ab Submitted crossbow builds: ursacomputing/crossbow @ actions-2893fb5e45 |
|
I think this is ready for review @kou |
|
@github-actions crossbow submit -g linux |
|
@github-actions crossbow submit -g wheel -g r |
|
Revision: 2b0a4ab Submitted crossbow builds: ursacomputing/crossbow @ actions-6d7e7577fe |
|
Revision: 2b0a4ab Submitted crossbow builds: ursacomputing/crossbow @ actions-852243f72c |
### What changes were proposed in this pull request? The change to add support for exporting CMake config and target has introduced some minor issues when the ORC C++ library is used inside a larger CMake project. Mainly there are three issues: - We should prepend (not append) our CMake modules so we always use our own modules when there are naming conflict. - Do not use CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR because they are tied to the root project and it is no longer ORC project when we are inside another project. - Add orc_ prefix to our CMake functions to avoid potential conflict. See: apache/arrow#45226 ### Why are the changes needed? We had a problem with upgrading Apache ORC to 2.1.0 in the Apache Arrow. See: apache/arrow#45226 ### How was this patch tested? - Pass all CIs. - Manually integrated it with Apache Arrow. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #2108 from wgtmac/fix_cmake. Authored-by: Gang Wu <[email protected]> Signed-off-by: Gang Wu <[email protected]>
### What changes were proposed in this pull request? The change to add support for exporting CMake config and target has introduced some minor issues when the ORC C++ library is used inside a larger CMake project. Mainly there are three issues: - We should prepend (not append) our CMake modules so we always use our own modules when there are naming conflict. - Do not use CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR because they are tied to the root project and it is no longer ORC project when we are inside another project. - Add orc_ prefix to our CMake functions to avoid potential conflict. See: apache/arrow#45226 ### Why are the changes needed? We had a problem with upgrading Apache ORC to 2.1.0 in the Apache Arrow. See: apache/arrow#45226 ### How was this patch tested? - Pass all CIs. - Manually integrated it with Apache Arrow. ### Was this patch authored or co-authored using generative AI tooling? No. Closes #2108 from wgtmac/fix_cmake. Authored-by: Gang Wu <[email protected]> Signed-off-by: Gang Wu <[email protected]> (cherry picked from commit 3eb423a) Signed-off-by: Gang Wu <[email protected]>
Co-authored-by: Sutou Kouhei <[email protected]>
|
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 7fc8222. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 12 possible false positives for unstable benchmarks that are known to sometimes produce them. |
Rationale for this change
Apache ORC has just released 2.1.0: https://orc.apache.org/news/2025/01/09/ORC-2.1.0/
We need to upgrade it to avoid occasional download failures of orc-format.
What changes are included in this PR?
Bump Apache ORC to its latest version 2.1.0.
Are these changes tested?
Pass CIs.
Are there any user-facing changes?
No.