From 20da8c7541ca66c36e139a7b75b5e1804a8cb6ed Mon Sep 17 00:00:00 2001 From: Saihajpreet Singh Date: Fri, 23 Aug 2024 15:41:38 -0400 Subject: [PATCH] feat: introduce timeout to s3 read requests --- .../services/cdn-worker/src/artifact-storage-reader.ts | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/packages/services/cdn-worker/src/artifact-storage-reader.ts b/packages/services/cdn-worker/src/artifact-storage-reader.ts index 6330b4f85c..0d5fef9ae9 100644 --- a/packages/services/cdn-worker/src/artifact-storage-reader.ts +++ b/packages/services/cdn-worker/src/artifact-storage-reader.ts @@ -21,6 +21,9 @@ type SDLArtifactTypes = `sdl${'.graphql' | '.graphqls' | ''}`; export type ArtifactsType = SDLArtifactTypes | 'metadata' | 'services' | 'supergraph'; +/** Timeout in milliseconds for S3 read calls. */ +const READ_TIMEOUT_MS = 20_000; + const OperationS3BucketKeyModel = zod.tuple([ zod.string().uuid(), zod.string().min(1), @@ -85,6 +88,7 @@ export class ArtifactStorageReader { headers: { 'X-Amz-Expires': String(presignedUrlExpirationSeconds), }, + timeout: READ_TIMEOUT_MS, }, ); @@ -126,6 +130,7 @@ export class ArtifactStorageReader { aws: { signQuery: true, }, + timeout: READ_TIMEOUT_MS, }, ); this.analytics?.track( @@ -164,6 +169,7 @@ export class ArtifactStorageReader { aws: { signQuery: true, }, + timeout: READ_TIMEOUT_MS, }, ); this.analytics?.track( @@ -200,6 +206,7 @@ export class ArtifactStorageReader { signQuery: true, }, headers, + timeout: READ_TIMEOUT_MS, }, );