Skip to content

GH-49565: [Python] Copy CKmsConnectionConfig instead of trying to move the const received one - #49567

Merged
raulcd merged 1 commit into
apache:mainfrom
raulcd:GH-49565
Mar 25, 2026
Merged

GH-49565: [Python] Copy CKmsConnectionConfig instead of trying to move the const received one#49567
raulcd merged 1 commit into
apache:mainfrom
raulcd:GH-49565

Conversation

@raulcd

@raulcd raulcd commented Mar 20, 2026

Copy link
Copy Markdown
Member

Rationale for this change

The test-ubuntu-22.04-python-313-freethreading job is currently failing with:

   [104/119] Building CXX object CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o
  FAILED: CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o
  /usr/bin/ccache /usr/lib/ccache/x86_64-linux-gnu-g++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -D_parquet_encryption_EXPORTS -I/usr/include/python3.13t -I/build/python/pyarrow/src -I/tmp/tmp2y9fbxsg/build/pyarrow/src -I/arrow-dev/lib/python3.13t/site-packages/numpy/_core/include -Wno-noexcept-type  -Wall -fno-semantic-interposition -msse4.2  -fdiagnostics-color=always  -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -g -O0  -std=c++20 -fPIC -Wno-unused-function -MD -MT CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o -MF CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o.d -o CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o -c /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp: In function ‘PyObject* __pyx_f_7pyarrow_19_parquet_encryption_19KmsConnectionConfig_wrap(const parquet::encryption::KmsConnectionConfig&)’:
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp:16576:137: error: binding reference of type ‘parquet::encryption::KmsConnectionConfig&’ to ‘const parquet::encryption::KmsConnectionConfig’ discards qualifiers
  16576 |     __pyx_t_4 = std::make_shared< parquet::encryption::KmsConnectionConfig>(cython_std::move< parquet::encryption::KmsConnectionConfig>(__pyx_v_config));
        |                                                                                                                                         ^~~~~~~~~~~~~~
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp:1171:77: note:   initializing argument 1 of ‘typename std::remove_reference<_Tp>::type&& cython_std::move(T&) [with T = parquet::encryption::KmsConnectionConfig; typename std::remove_reference<_Tp>::type = parquet::encryption::KmsConnectionConfig]’
   1171 |     template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
        |   

What changes are included in this PR?

Copy CKmsConnectionConfig instead of trying to move the const one owned by C++.

Are these changes tested?

Yes via archery

Are there any user-facing changes?

No

@raulcd

raulcd commented Mar 20, 2026

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

@github-actions

Copy link
Copy Markdown

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

@github-actions

Copy link
Copy Markdown

Revision: 8674169

Submitted crossbow builds: ursacomputing/crossbow @ actions-a8bc66cb09

Task Status
test-ubuntu-22.04-python-313-freethreading GitHub Actions

@raulcd
raulcd marked this pull request as ready for review March 20, 2026 10:57
@raulcd
raulcd requested review from AlenkaF and rok as code owners March 20, 2026 10:57
@raulcd

raulcd commented Mar 23, 2026

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

@github-actions

Copy link
Copy Markdown

Revision: 2a7761b

Submitted crossbow builds: ursacomputing/crossbow @ actions-1535726307

Task Status
test-ubuntu-22.04-python-313-freethreading GitHub Actions

@raulcd

raulcd commented Mar 23, 2026

Copy link
Copy Markdown
Member Author

macos14 failure is unrelated, see:

@raulcd

raulcd commented Mar 24, 2026

Copy link
Copy Markdown
Member Author

@github-actions crossbow submit test-ubuntu-22.04-python-313-freethreading

@github-actions

Copy link
Copy Markdown

Revision: 53bb930

Submitted crossbow builds: ursacomputing/crossbow @ actions-7c46024f7b

Task Status
test-ubuntu-22.04-python-313-freethreading GitHub Actions

@raulcd

raulcd commented Mar 24, 2026

Copy link
Copy Markdown
Member Author

I'll merge this to fix the nightly failure tomorrow unless someone raises any concerns

@raulcd
raulcd merged commit f9315d4 into apache:main Mar 25, 2026
16 checks passed
@raulcd raulcd removed the awaiting committer review Awaiting committer review label Mar 25, 2026
@raulcd
raulcd deleted the GH-49565 branch March 25, 2026 08:05
@conbench-apache-arrow

Copy link
Copy Markdown

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

There were no benchmark performance regressions. 🎉

The full Conbench report has more details.

thisisnic pushed a commit to thisisnic/arrow that referenced this pull request Apr 6, 2026
…to move the const received one (apache#49567)

### Rationale for this change

The [test-ubuntu-22.04-python-313-freethreading](https://github.com/ursacomputing/crossbow/actions/runs/23324175137/job/67841753438) job is currently failing with:
```
   [104/119] Building CXX object CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o
  FAILED: CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o
  /usr/bin/ccache /usr/lib/ccache/x86_64-linux-gnu-g++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -D_parquet_encryption_EXPORTS -I/usr/include/python3.13t -I/build/python/pyarrow/src -I/tmp/tmp2y9fbxsg/build/pyarrow/src -I/arrow-dev/lib/python3.13t/site-packages/numpy/_core/include -Wno-noexcept-type  -Wall -fno-semantic-interposition -msse4.2  -fdiagnostics-color=always  -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -g -O0  -std=c++20 -fPIC -Wno-unused-function -MD -MT CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o -MF CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o.d -o CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o -c /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp: In function ‘PyObject* __pyx_f_7pyarrow_19_parquet_encryption_19KmsConnectionConfig_wrap(const parquet::encryption::KmsConnectionConfig&)’:
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp:16576:137: error: binding reference of type ‘parquet::encryption::KmsConnectionConfig&’ to ‘const parquet::encryption::KmsConnectionConfig’ discards qualifiers
  16576 |     __pyx_t_4 = std::make_shared< parquet::encryption::KmsConnectionConfig>(cython_std::move< parquet::encryption::KmsConnectionConfig>(__pyx_v_config));
        |                                                                                                                                         ^~~~~~~~~~~~~~
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp:1171:77: note:   initializing argument 1 of ‘typename std::remove_reference<_Tp>::type&& cython_std::move(T&) [with T = parquet::encryption::KmsConnectionConfig; typename std::remove_reference<_Tp>::type = parquet::encryption::KmsConnectionConfig]’
   1171 |     template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
        |   
```

### What changes are included in this PR?

Copy CKmsConnectionConfig instead of trying to move the const one owned by C++.

### Are these changes tested?

Yes via archery

### Are there any user-facing changes?

No

* GitHub Issue: apache#49565

Authored-by: Raúl Cumplido <raulcumplido@gmail.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
Mottl pushed a commit to Mottl/arrow that referenced this pull request May 26, 2026
…to move the const received one (apache#49567)

### Rationale for this change

The [test-ubuntu-22.04-python-313-freethreading](https://github.com/ursacomputing/crossbow/actions/runs/23324175137/job/67841753438) job is currently failing with:
```
   [104/119] Building CXX object CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o
  FAILED: CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o
  /usr/bin/ccache /usr/lib/ccache/x86_64-linux-gnu-g++ -DARROW_HAVE_RUNTIME_AVX2 -DARROW_HAVE_RUNTIME_AVX512 -DARROW_HAVE_RUNTIME_BMI2 -DARROW_HAVE_RUNTIME_SSE4_2 -DARROW_HAVE_SSE4_2 -D_parquet_encryption_EXPORTS -I/usr/include/python3.13t -I/build/python/pyarrow/src -I/tmp/tmp2y9fbxsg/build/pyarrow/src -I/arrow-dev/lib/python3.13t/site-packages/numpy/_core/include -Wno-noexcept-type  -Wall -fno-semantic-interposition -msse4.2  -fdiagnostics-color=always  -fno-omit-frame-pointer -Wno-unused-variable -Wno-maybe-uninitialized -g -O0  -std=c++20 -fPIC -Wno-unused-function -MD -MT CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o -MF CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o.d -o CMakeFiles/_parquet_encryption.dir/_parquet_encryption.cpp.o -c /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp: In function ‘PyObject* __pyx_f_7pyarrow_19_parquet_encryption_19KmsConnectionConfig_wrap(const parquet::encryption::KmsConnectionConfig&)’:
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp:16576:137: error: binding reference of type ‘parquet::encryption::KmsConnectionConfig&’ to ‘const parquet::encryption::KmsConnectionConfig’ discards qualifiers
  16576 |     __pyx_t_4 = std::make_shared< parquet::encryption::KmsConnectionConfig>(cython_std::move< parquet::encryption::KmsConnectionConfig>(__pyx_v_config));
        |                                                                                                                                         ^~~~~~~~~~~~~~
  /tmp/tmp2y9fbxsg/build/_parquet_encryption.cpp:1171:77: note:   initializing argument 1 of ‘typename std::remove_reference<_Tp>::type&& cython_std::move(T&) [with T = parquet::encryption::KmsConnectionConfig; typename std::remove_reference<_Tp>::type = parquet::encryption::KmsConnectionConfig]’
   1171 |     template <typename T> typename std::remove_reference<T>::type&& move(T& t) noexcept { return std::move(t); }
        |   
```

### What changes are included in this PR?

Copy CKmsConnectionConfig instead of trying to move the const one owned by C++.

### Are these changes tested?

Yes via archery

### Are there any user-facing changes?

No

* GitHub Issue: apache#49565

Authored-by: Raúl Cumplido <raulcumplido@gmail.com>
Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
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.

1 participant