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
); );
const batchSize = 500;
const chunks = chunkArray(checkpointResources, batchSize);
await Promise.all(
chunks.map(async (chunk) => {
await folderCheckpointResourcesDAL.insertMany( await folderCheckpointResourcesDAL.insertMany(
checkpointResources.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })), chunk.map((resource) => ({ folderCheckpointId: newCheckpoint.id, ...resource })),
tx tx
); );
})
);
return latestCommitId; return latestCommitId;
}; };