diff --git a/backend/e2e-test/mocks/keystore.ts b/backend/e2e-test/mocks/keystore.ts index 577e3c871..f4f251616 100644 --- a/backend/e2e-test/mocks/keystore.ts +++ b/backend/e2e-test/mocks/keystore.ts @@ -1,6 +1,7 @@ import RE2 from "re2"; import { TKeyStoreFactory } from "@app/keystore/keystore"; +import { applyJitter } from "@app/lib/dates"; import { delay as delayMs } from "@app/lib/delay"; import { Lock } from "@app/lib/red-lock"; @@ -37,7 +38,7 @@ export const mockKeyStore = (): TKeyStoreFactory => { } // eslint-disable-next-line no-await-in-loop - await delayMs(Math.max(0, delay + Math.floor((Math.random() * 2 - 1) * jitter))); + await delayMs(Math.max(0, applyJitter(delay, jitter))); } return totalDeleted; diff --git a/backend/src/keystore/keystore.ts b/backend/src/keystore/keystore.ts index 0e1c3e35e..5f5eb3f50 100644 --- a/backend/src/keystore/keystore.ts +++ b/backend/src/keystore/keystore.ts @@ -1,6 +1,7 @@ import { Redis } from "ioredis"; import { pgAdvisoryLockHashText } from "@app/lib/crypto/hashtext"; +import { applyJitter } from "@app/lib/dates"; import { delay as delayMs } from "@app/lib/delay"; import { Redlock, Settings } from "@app/lib/red-lock"; @@ -104,7 +105,7 @@ export const keyStoreFactory = (redisUrl: string) => { totalDeleted += batch.length; // eslint-disable-next-line no-await-in-loop - await delayMs(Math.max(0, delay + Math.floor((Math.random() * 2 - 1) * jitter))); + await delayMs(Math.max(0, applyJitter(delay, jitter))); } } while (cursor !== "0"); @@ -130,7 +131,7 @@ export const keyStoreFactory = (redisUrl: string) => { // eslint-disable-next-line await new Promise((resolve) => { waitingCb?.(); - setTimeout(resolve, Math.max(0, delay + Math.floor((Math.random() * 2 - 1) * jitter))); + setTimeout(resolve, Math.max(0, applyJitter(delay, jitter))); }); attempts += 1; // eslint-disable-next-line diff --git a/backend/src/keystore/memory.ts b/backend/src/keystore/memory.ts index eab3a32dd..84cd06c03 100644 --- a/backend/src/keystore/memory.ts +++ b/backend/src/keystore/memory.ts @@ -1,5 +1,6 @@ import RE2 from "re2"; +import { applyJitter } from "@app/lib/dates"; import { delay as delayMs } from "@app/lib/delay"; import { Lock } from "@app/lib/red-lock"; @@ -38,7 +39,7 @@ export const inMemoryKeyStore = (): TKeyStoreFactory => { } // eslint-disable-next-line no-await-in-loop - await delayMs(Math.max(0, delay + Math.floor((Math.random() * 2 - 1) * jitter))); + await delayMs(Math.max(0, applyJitter(delay, jitter))); } return totalDeleted;