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]

Reply via email to