Skip to content

CDRIVER-5517 retry KMS encrypt requests on transient errors #1577

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

Merged
merged 39 commits into from
Oct 10, 2024

Conversation

adriandole
Copy link
Contributor

@adriandole adriandole commented Apr 18, 2024

C driver implementation to support retryable KMS encrypt requests.

Summary of changes

  • Check the new KMS context field (sleep_usec) that indicates how long to wait (if at all) before sending the next KMS request
  • Retry transient TCP errors
  • Implement the retry prose test

Testing

Prerequisites

  • Merge the libmongocrypt changes
  • Merge the drivers-evergreen-tools changes
  • Update compile-libmongocrypt with the new commit

@adriandole adriandole marked this pull request as ready for review May 20, 2024 23:08
@adriandole adriandole requested a review from kevinAlbs May 20, 2024 23:08
@kevinAlbs kevinAlbs requested review from vector-of-bool and removed request for vector-of-bool May 23, 2024 19:25
@kevinAlbs kevinAlbs requested a review from vector-of-bool June 3, 2024 20:01
@kevinAlbs kevinAlbs changed the title DRIVERS-1541 retry KMS encrypt requests on transient errors CDRIVER-5517 retry KMS encrypt requests on transient errors Aug 29, 2024
@adriandole adriandole requested a review from kevinAlbs October 9, 2024 17:31
Copy link
Collaborator

@kevinAlbs kevinAlbs left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM! I like the addition of resetting failpoints.

@adriandole adriandole merged commit d934cd5 into mongodb:master Oct 10, 2024
41 of 43 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants