-
Type: New Feature
-
Resolution: Unresolved
-
Priority: Unknown
-
None
-
Component/s: Client Side Encryption
Summary
Add option to configure DEK cache lifetime.
Motivation
At present, libmongocrypt caches the decrypted DEK for a fixed lifetime of 1 minute. There is a report of observed errors decrypting DEKs with KMS on heavy load. This may be due to the high rate of KMS requests. Adding an option to increase the lifetime may help these use cases reduce the rate of KMS requests.
Who is the affected end user?
Users of In-Use Encryption (CSFLE and/or QE) with heavy workloads requiring many KMS requests.
How does this affect the end user?
May result in more KMS requests than desired on heavy load. There is a report of observed errors decrypting DEKs with KMS on heavy load.
How likely is it that this problem or use case will occur?
Likely. There is a report of observed errors decrypting DEKs with KMS on heavy load. The high rate of KMS requests is the presumed cause.
JAVA-5297 notes errors observed for Azure KMS requests that may benefit from a configurable DEK cache timeout.
If the problem does occur, what are the consequences and how severe are they?
Application errors.
Is this issue urgent?
Not sure.
Is this ticket required by a downstream team?
No?
Is this ticket only for tests?
No.
Acceptance Criteria
Update libmongocrypt to enable configuring the DEK cache lifetime.
Add API to drivers to enable configuring the DEK cache lifetime.
- depends on
-
MONGOCRYPT-730 Add option to configure DEK cache lifetime
- Closed
- is related to
-
JAVA-5297 ClientEncryption encrypt/decrypt KMS key caching
- Backlog
- split to
-
CDRIVER-5644 Add option to configure DEK cache lifetime
- Blocked
-
CSHARP-5205 Add option to configure DEK cache lifetime
- Blocked
-
CXX-3080 Add option to configure DEK cache lifetime
- Blocked
-
GODRIVER-3289 Add option to configure DEK cache lifetime
- Blocked
-
JAVA-5547 Add option to configure DEK cache lifetime
- Blocked
-
MOTOR-1348 Add option to configure DEK cache lifetime
- Blocked
-
NODE-6294 Add option to configure DEK cache lifetime
- Blocked
-
PHPLIB-1496 Add option to configure DEK cache lifetime
- Blocked
-
PYTHON-4580 Add option to configure DEK cache lifetime
- Blocked
-
RUBY-3524 Add option to configure DEK cache lifetime
- Blocked
-
RUST-2006 Add option to configure DEK cache lifetime
- Blocked