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

This commit is contained in:
carlosmonastyrski
2025-05-28 22:02:55 -03:00
parent 41d7987a6e
commit d1d5dd29c6
2 changed files with 12 additions and 4 deletions
+1 -1
View File
@@ -245,7 +245,7 @@ const envSchema = z
DATADOG_HOSTNAME: zpStr(z.string().optional()), DATADOG_HOSTNAME: zpStr(z.string().optional()),
// PIT // 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")), PIT_TREE_CHECKPOINT_WINDOW: zpStr(z.string().optional().default("30")),
/* CORS ----------------------------------------------------------------------------- */ /* CORS ----------------------------------------------------------------------------- */
@@ -295,10 +295,18 @@ export const folderCommitServiceFactory = ({
}, },
tx tx
); );
await folderCheckpointResourcesDAL.insertMany( const batchSize = 500;
checkpointResources.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })), const chunks = chunkArray(checkpointResources, batchSize);
tx
await Promise.all(
chunks.map(async (chunk) => {
await folderCheckpointResourcesDAL.insertMany(
chunk.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })),
tx
);
})
); );
return latestCommitId; return latestCommitId;
}; };