From 0e6a541036abcef570f5edc410b756366ec68bac Mon Sep 17 00:00:00 2001 From: Hemant Kumar Date: Fri, 8 Dec 2017 15:22:36 -0500 Subject: [PATCH] Make AWS attach/detach operations faster Most attach/detach operations on AWS finish within 1-4seconds. By using a shorter time interval and higher exponetial factor we can shorten time taken for attach and detach to complete. --- pkg/cloudprovider/providers/aws/aws.go | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/pkg/cloudprovider/providers/aws/aws.go b/pkg/cloudprovider/providers/aws/aws.go index ad55f5383d7..61775226f7e 100644 --- a/pkg/cloudprovider/providers/aws/aws.go +++ b/pkg/cloudprovider/providers/aws/aws.go @@ -201,14 +201,13 @@ const nodeWithImpairedVolumes = "NodeWithImpairedVolumes" const ( // volumeAttachmentConsecutiveErrorLimit is the number of consecutive errors we will ignore when waiting for a volume to attach/detach volumeAttachmentStatusConsecutiveErrorLimit = 10 - // volumeAttachmentStatus* is configuration of exponential backoff for - // waiting for attach/detach operation to complete. Starting with 10 - // seconds, multiplying by 1.2 with each step and taking 21 steps at maximum - // it will time out after 31.11 minutes, which roughly corresponds to GCE - // timeout (30 minutes). - volumeAttachmentStatusInitialDelay = 10 * time.Second - volumeAttachmentStatusFactor = 1.2 - volumeAttachmentStatusSteps = 21 + // most attach/detach operations on AWS finish within 1-4 seconds + // By using 1 second starting interval with a backoff of 1.8 + // we get - [1, 1.8, 3.24, 5.832000000000001, 10.4976] + // in total we wait for 2601 seconds + volumeAttachmentStatusInitialDelay = 1 * time.Second + volumeAttachmentStatusFactor = 1.8 + volumeAttachmentStatusSteps = 13 // createTag* is configuration of exponential backoff for CreateTag call. We // retry mainly because if we create an object, we cannot tag it until it is