Merge pull request #3671 from Infisical/fix/pitCheckpointCreationBatch

PIT: fix checkpoint creation to do it in batches to avoid insert fails
This commit is contained in:
carlosmonastyrski
2025-05-29 00:17:33 +01:00
committed by GitHub
2 changed files with 13 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,19 @@ export const folderCommitServiceFactory = ({
}, },
tx tx
); );
await folderCheckpointResourcesDAL.insertMany(
checkpointResources.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })), const batchSize = 500;
tx 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; return latestCommitId;
}; };