diff --git a/services/history-v1/storage/lib/backupVerifier.mjs b/services/history-v1/storage/lib/backupVerifier.mjs index ba1b1bafab..83952768c2 100644 --- a/services/history-v1/storage/lib/backupVerifier.mjs +++ b/services/history-v1/storage/lib/backupVerifier.mjs @@ -221,25 +221,23 @@ export async function verifyProject(historyId, endTimestamp) { export class BackupCorruptedError extends OError {} export class BackupRPOViolationError extends OError {} +const HEALTH_CHECK_PROJECTS = JSON.parse(config.get('healthCheckProjects')) export async function healthCheck() { - /** @type {Array} */ - const HEALTH_CHECK_BLOBS = JSON.parse(config.get('healthCheckBlobs')) - if (HEALTH_CHECK_BLOBS.length !== 2) { - throw new Error('expected 2 healthCheckBlobs') + if (!Array.isArray(HEALTH_CHECK_PROJECTS)) { + throw new Error('expected healthCheckProjects to be an array') } - if (!HEALTH_CHECK_BLOBS.some(path => path.split('/')[0].length === 24)) { - throw new Error('expected mongo id in healthCheckBlobs') + if (HEALTH_CHECK_PROJECTS.length !== 2) { + throw new Error('expected 2 healthCheckProjects') } - if (!HEALTH_CHECK_BLOBS.some(path => path.split('/')[0].length < 24)) { - throw new Error('expected postgres id in healthCheckBlobs') + if (!HEALTH_CHECK_PROJECTS.some(id => id.length === 24)) { + throw new Error('expected mongo id in healthCheckProjects') } - if (HEALTH_CHECK_BLOBS.some(path => path.split('/')[1]?.length !== 40)) { - throw new Error('expected hash in healthCheckBlobs') + if (!HEALTH_CHECK_PROJECTS.some(id => id.length < 24)) { + throw new Error('expected postgres id in healthCheckProjects') } - for (const path of HEALTH_CHECK_BLOBS) { - const [historyId, hash] = path.split('/') - await verifyBlob(historyId, hash) + for (const historyId of HEALTH_CHECK_PROJECTS) { + await verifyProjectWithErrorContext(historyId) } } export class BackupCorruptedMissingBlobError extends BackupCorruptedError {}