From 7a9e0a2e0628508994c5e848ee86b02f3e3fdf8f Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Wed, 28 May 2025 15:22:23 +0100 Subject: [PATCH] Merge pull request #25470 from overleaf/bg-history-redis-downgrade-job-related-errors downgrade expected job errors in scanAndProcessDueItems GitOrigin-RevId: 0a2689699bfc6512c5017c7f5e51ac4f80c409fe --- services/history-v1/storage/lib/scan.js | 24 +++++++++++++++++++----- 1 file changed, 19 insertions(+), 5 deletions(-) diff --git a/services/history-v1/storage/lib/scan.js b/services/history-v1/storage/lib/scan.js index fe4b8d514e..2d9a0fd445 100644 --- a/services/history-v1/storage/lib/scan.js +++ b/services/history-v1/storage/lib/scan.js @@ -1,5 +1,5 @@ const logger = require('@overleaf/logger') - +const { JobNotFoundError, JobNotReadyError } = require('./errors') const BATCH_SIZE = 1000 // Default batch size for SCAN /** @@ -147,10 +147,24 @@ async function scanAndProcessDueItems( `Successfully performed ${taskName} for project` ) } catch (err) { - logger.error( - { ...logContext, projectId, err }, - `Error performing ${taskName} for project` - ) + if (err instanceof JobNotReadyError) { + // the project has been touched since the job was created + logger.info( + { ...logContext, projectId }, + `Job not ready for ${taskName} for project` + ) + } else if (err instanceof JobNotFoundError) { + // the project has been expired already by another worker + logger.info( + { ...logContext, projectId }, + `Job not found for ${taskName} for project` + ) + } else { + logger.error( + { ...logContext, projectId, err }, + `Error performing ${taskName} for project` + ) + } continue } }