PIT: fix checkpoint creation to do it in batches to avoid insert fails

This commit is contained in:
carlosmonastyrski
2025-05-28 20:10:12 -03:00
parent e78682560c
commit 5df96234a0
2 changed files with 13 additions and 4 deletions

View File

@@ -245,7 +245,7 @@ const envSchema = z
DATADOG_HOSTNAME: zpStr(z.string().optional()),
// PIT
PIT_CHECKPOINT_WINDOW: zpStr(z.string().optional().default("1")),
PIT_CHECKPOINT_WINDOW: zpStr(z.string().optional().default("2")),
PIT_TREE_CHECKPOINT_WINDOW: zpStr(z.string().optional().default("30")),
/* CORS ----------------------------------------------------------------------------- */

View File

@@ -295,10 +295,19 @@ export const folderCommitServiceFactory = ({
},
tx
);
await folderCheckpointResourcesDAL.insertMany(
checkpointResources.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })),
tx
const batchSize = 500;
const chunks = chunkArray(checkpointResources, batchSize);
await Promise.all(
chunks.map(async (chunk) => {
await folderCheckpointResourcesDAL.insertMany(
chunk.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })),
tx
);
})
);
return latestCommitId;
};