summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShreyas Kalyan <shreyas.kalyan@mongodb.com>2019-10-04 20:33:08 +0000
committerevergreen <evergreen@mongodb.com>2019-10-04 20:33:08 +0000
commit8638f5ee4f47cd0cf97dcf57d0b094550669ffbc (patch)
tree4936f2f6d4cd13a1ce19e3278c910a8b05d91fc2
parentc0da48bb14fe1329e375265be0f731baa9f07577 (diff)
downloadmongo-8638f5ee4f47cd0cf97dcf57d0b094550669ffbc.tar.gz
SERVER-43579 Make AWS KMS support robust to KMS availability
-rw-r--r--src/mongo/shell/kms_aws.cpp8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/mongo/shell/kms_aws.cpp b/src/mongo/shell/kms_aws.cpp
index 1417b847781..34b185a4f62 100644
--- a/src/mongo/shell/kms_aws.cpp
+++ b/src/mongo/shell/kms_aws.cpp
@@ -342,9 +342,15 @@ void AWSConnection::connect(const HostAndPort& host) {
str::stream() << "AWS KMS server address " << host.host() << " is invalid.",
server.isValid());
+ int attempt = 0;
+ bool connected = false;
+ while ((connected == false) && (attempt < 3)) {
+ connected = _socket->connect(server);
+ attempt++;
+ }
uassert(51137,
str::stream() << "Could not connect to AWS KMS server " << server.toString(),
- _socket->connect(server));
+ connected);
uassert(51138,
str::stream() << "Failed to perform SSL handshake with the AWS KMS server "