Repository navigation
CLDSRV-1020: Improve KMS upfront decrypt with many parts - #6341
BourgoisMickael wants to merge 7 commits into
Conversation
Provide an env var to override or skip.
Instead of synchronous callback that trigger stack overflow with many parts in async 2.5 (branch 7.X and 8.X). Also should be more optimized.
If only 1 of multiple parallel queries fails the objectGet, cleanup early the decipher stream of other successful KMS queries
Those streams for cryptography can hold native C++ memory for OpenSSL. It's good to release them early without waiting for GC.
Hello bourgoismickael,My role is to assist you with the merge of this Available options
Available commands
Status report is not available. |
Incorrect fix versionThe
Considering where you are trying to merge, I ignored possible hotfix versions and I expected to find:
Please check the |
Request integration branchesWaiting for integration branch creation to be requested by the user. To request integration branches, please comment on this pull request with the following command: Alternatively, the |
Describe the trade-off of upfront parallel KMS Decrypt before streaming parts done by:
- parallel queries instead of in series between each parts for faster overall streaming
- can delay time to first byte
- can flood the KMS, parallel should be limited
- can hold native memory, should be cleaned asap if not consumed (on error) without waiting for GC
Defaults to 100, with environment variable
GET_OBJECT_MAX_PARALLEL_KMS_DECRYPTto override or skip upfront KMS decryptThis fixes comments from this backport #6322