-
Notifications
You must be signed in to change notification settings - Fork 3.6k
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
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. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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::Encrypt
andEncryptor::Encrypt
to usearrow::util::span
instead of raw pointersAesEncryptor::CiphertextSizeDelta
method with aCiphertextLength
method 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