adamreeve commented on issue #43057: URL: https://github.com/apache/arrow/issues/43057#issuecomment-2497328764
Yes I don't think the analysis in that comment is quite right. The linked code that creates a `CryptoContext` is in the `SerializedRowGroup::GetColumnPageReader` method, and this creates a `Decryptor` by using the shared `InternalFileDecryptor`: https://github.com/apache/arrow/blob/9015a81d0e9f9a861509e5e1b6f96c0d8c01a999/cpp/src/parquet/file_reader.cc#L265-L266 It looks like `GetColumnPageReader` is called per-thread for multi-threaded reads so these decryptors aren't shared, although I haven't debugged or analysed the code closely to confirm that for sure. #39623 removed the caching of the decryptors within `InternalFileDecryptor` but they're still added to the `all_decryptors_` list, allowing them to be wiped out via `InternalFileDecryptor::WipeOutDecryptionKeys`. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
