GH-43142: [C++][Parquet] Refactor Encryptor API to use arrow::util::span instead of raw pointers#43195
Conversation
|
|
|
There's a CI failure due to a segfault running Given I'm working in this area already I'll take a look and see if I can reproduce this, but I don't think it should be a blocker for this PR. |
pitrou
left a comment
There was a problem hiding this comment.
LGTM, except for one nit (see comment about int vs. unsigned)
|
@github-actions crossbow submit -g cpp |
|
Revision: 20e1aaf Submitted crossbow builds: ursacomputing/crossbow @ actions-5626e3c393 |
|
Thanks again for doing this @adamreeve ! |
|
@raulcd This is 17.0.0 material if you ever need to cut another RC. |
I've added the |
|
After merging your PR, Conbench analyzed the 4 benchmarking runs that have been run so far on merge-commit 6e438e6. 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. |
Rationale for this change
See #43142. This is a follow up to #43071 which refactored the Decryptor API and added extra checks to prevent segfaults. This PR makes similar changes to the Encryptor API for consistency and better maintainability.
What changes are included in this PR?
AesEncryptor::EncryptandEncryptor::Encryptto usearrow::util::spaninstead of raw pointersAesEncryptor::CiphertextSizeDeltamethod with aCiphertextLengthmethod that checks for overflow and abstracts the size difference behaviour away from consumer code for improved readability.Are these changes tested?
Are there any user-facing changes?
No