From 94f477fe6e042bfaa1e617ce897fafd01b611f69 Mon Sep 17 00:00:00 2001 From: Jason Miller Date: Thu, 2 Apr 2020 10:41:31 -0400 Subject: [PATCH 1/2] Avoid re-using non-keep-alive "main" HTTP client --- packages/artifact/src/internal/upload-http-client.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/artifact/src/internal/upload-http-client.ts b/packages/artifact/src/internal/upload-http-client.ts index e34327010b..90936d329a 100644 --- a/packages/artifact/src/internal/upload-http-client.ts +++ b/packages/artifact/src/internal/upload-http-client.ts @@ -112,7 +112,8 @@ export class UploadHttpClient { }) } - const parallelUploads = [...new Array(FILE_CONCURRENCY).keys()] + // http client indices start at 1 to avoid re-using the main client + const parallelUploads = new Array(FILE_CONCURRENCY).fill(0).map((x, i) => i + 1) const failedItemsToReport: string[] = [] let currentFile = 0 let completedFiles = 0 From f5b52fda31f01960498b9c41088ebd3d59379297 Mon Sep 17 00:00:00 2001 From: Jason Miller Date: Thu, 2 Apr 2020 11:07:43 -0400 Subject: [PATCH 2/2] Allocate for i+1 clients --- packages/artifact/src/internal/upload-http-client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/artifact/src/internal/upload-http-client.ts b/packages/artifact/src/internal/upload-http-client.ts index 90936d329a..ad57082893 100644 --- a/packages/artifact/src/internal/upload-http-client.ts +++ b/packages/artifact/src/internal/upload-http-client.ts @@ -38,7 +38,7 @@ export class UploadHttpClient { private statusReporter: UploadStatusReporter constructor() { - this.uploadHttpManager = new HttpManager(getUploadFileConcurrency()) + this.uploadHttpManager = new HttpManager(getUploadFileConcurrency() + 1) this.statusReporter = new UploadStatusReporter() }