From 1ec75d021efae1ca197de2e460fd87a932766c9d Mon Sep 17 00:00:00 2001 From: Tom Clegg Date: Thu, 15 Feb 2018 10:55:37 -0500 Subject: [PATCH] 13063: Don't use azure default delay-and-retry loop. Arvados-DCO-1.1-Signed-off-by: Tom Clegg --- services/keepstore/azure_blob_volume.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/services/keepstore/azure_blob_volume.go b/services/keepstore/azure_blob_volume.go index 63b43d7f67..f470034ba6 100644 --- a/services/keepstore/azure_blob_volume.go +++ b/services/keepstore/azure_blob_volume.go @@ -110,6 +110,14 @@ type AzureBlobVolume struct { container *azureContainer } +// singleSender is a single-attempt storage.Sender. +type singleSender struct{} + +// Send performs req exactly once. +func (*singleSender) Send(c *storage.Client, req *http.Request) (resp *http.Response, err error) { + return c.HTTPClient.Do(req) +} + // Examples implements VolumeWithExamples. func (*AzureBlobVolume) Examples() []Volume { return []Volume{ @@ -155,6 +163,7 @@ func (v *AzureBlobVolume) Start() error { if err != nil { return fmt.Errorf("creating Azure storage client: %s", err) } + v.azClient.Sender = &singleSender{} if v.RequestTimeout == 0 { v.RequestTimeout = azureDefaultRequestTimeout -- 2.30.2