From ed27af11f8dce0bbb85bf241d217194c8cd57f18 Mon Sep 17 00:00:00 2001 From: Jakob Ackermann Date: Mon, 25 Nov 2024 13:07:06 +0100 Subject: [PATCH] Merge pull request #22107 from overleaf/jpa-error-handling [history-v1] back_fill_file_hash: error handling GitOrigin-RevId: 2dbf52d015206cf42ca434b1f16221d6e0f2cc2b --- libraries/object-persistor/src/PersistorHelper.js | 4 ++++ services/history-v1/storage/scripts/back_fill_file_hash.mjs | 6 ++++-- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/libraries/object-persistor/src/PersistorHelper.js b/libraries/object-persistor/src/PersistorHelper.js index 28b8c0c2aa..ad0a705d68 100644 --- a/libraries/object-persistor/src/PersistorHelper.js +++ b/libraries/object-persistor/src/PersistorHelper.js @@ -140,6 +140,10 @@ async function verifyMd5(persistor, bucket, key, sourceMd5, destMd5 = null) { } function wrapError(error, message, params, ErrorType) { + params = { + ...params, + cause: error, + } if ( error instanceof NotFoundError || ['NoSuchKey', 'NotFound', 404, 'AccessDenied', 'ENOENT'].includes( diff --git a/services/history-v1/storage/scripts/back_fill_file_hash.mjs b/services/history-v1/storage/scripts/back_fill_file_hash.mjs index 697690d646..d6f033109a 100644 --- a/services/history-v1/storage/scripts/back_fill_file_hash.mjs +++ b/services/history-v1/storage/scripts/back_fill_file_hash.mjs @@ -356,7 +356,8 @@ async function processFile(entry, filePath) { { err, projectId, fileId, hash, path, attempt }, 'failed to process file, trying again' ) - await setTimeout(RETRY_DELAY_MS) + const jitter = Math.random() * RETRY_DELAY_MS + await setTimeout(RETRY_DELAY_MS + jitter) } } return await processFileOnce(entry, filePath) @@ -1000,7 +1001,8 @@ class ProjectContext { { err, projectId: this.projectId, attempt }, 'failed to get DEK, trying again' ) - await setTimeout(RETRY_DELAY_MS) + const jitter = Math.random() * RETRY_DELAY_MS + await setTimeout(RETRY_DELAY_MS + jitter) } } }