From 74d7d1180e59c6643d28503fb527407a4dcd3958 Mon Sep 17 00:00:00 2001 From: WRadoslaw Date: Thu, 22 Feb 2024 11:54:54 +0100 Subject: [PATCH] Blacklist and retry only on axios error --- .../src/providers/uploads/uploads.hooks.ts | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/atlas/src/providers/uploads/uploads.hooks.ts b/packages/atlas/src/providers/uploads/uploads.hooks.ts index 06e192771f..b7542cb75c 100644 --- a/packages/atlas/src/providers/uploads/uploads.hooks.ts +++ b/packages/atlas/src/providers/uploads/uploads.hooks.ts @@ -176,18 +176,17 @@ export const useStartFileUpload = () => { setAssetStatus({ lastStatus: 'error', progress: 0 }) const axiosError = e as AxiosError - const networkFailure = - axiosError.isAxiosError && - (!axiosError.response?.status || (axiosError.response.status >= 400 && axiosError.response.status <= 500)) + const networkFailure = axiosError.isAxiosError - UserEventsLogger.logDistributorError({ dataObjectId: asset.id, distributorId: uploadOperator.id }, e) + // only retry on Axios error, otherwise code is to blame if (networkFailure) { - markStorageOperatorFailed(uploadOperator.id) - } + UserEventsLogger.logDistributorError({ dataObjectId: asset.id, distributorId: uploadOperator.id }, e) - const retry = opts?.retry ?? 0 - if (retry < MAX_BUCKET_RETRY) { - return startFileUpload(file, asset, { ...opts, retry: retry + 1 }) + markStorageOperatorFailed(uploadOperator.id) + const retry = opts?.retry ?? 0 + if (retry < MAX_BUCKET_RETRY) { + return startFileUpload(file, asset, { ...opts, retry: retry + 1 }) + } } SentryLogger.error('Failed to upload asset', 'uploadsHooks', e, {