From a6aa4a379f39189a0649bee8c762652e301077ab Mon Sep 17 00:00:00 2001 From: Carmen Fan Date: Wed, 23 Aug 2023 17:27:59 +0100 Subject: [PATCH 1/2] ISSUE #4415 write the zombies in chunks --- .../src/scripts/utility/fileshare/identifyZombieFiles.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/scripts/utility/fileshare/identifyZombieFiles.js b/backend/src/scripts/utility/fileshare/identifyZombieFiles.js index f82fc6a2adc..2344399cb50 100644 --- a/backend/src/scripts/utility/fileshare/identifyZombieFiles.js +++ b/backend/src/scripts/utility/fileshare/identifyZombieFiles.js @@ -151,9 +151,12 @@ const run = async (outFile = DEFAULT_OUT_FILE, removeFiles = false, maxParallelR if (zombies.length) { logger.logInfo(`Writing all links to ${outFile}...`); - writeFileSync(outFile, zombies.join('\n')); + const chunks = splitArrayIntoChunks(zombies, maxParallelRefs); + for (let i = 0; i < chunks.length; ++i) { + writeFileSync(outFile, `${chunks[i].join('\n')}\n`, { flag: i === 0 ? 'w' : 'a' }); + logger.logInfo(`[${i}/${chunks.length}] ${chunks[i].length} file paths written...`); + } if (removeFiles) { - const chunks = splitArrayIntoChunks(zombies, maxParallelRefs); logger.logInfo(`Deleting files (${chunks.length} batches)`); for (let i = 0; i < chunks.length; ++i) { const group = chunks[i]; From 3bf1e6169837a3b0681e21bb94ee5b38bbe755fd Mon Sep 17 00:00:00 2001 From: Carmen Fan Date: Thu, 24 Aug 2023 10:26:30 +0100 Subject: [PATCH 2/2] ISSUE #4415 change parallel ref num to keep up with code coverage --- backend/tests/v5/scripts/fileshare/identifyZombieFiles.test.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/tests/v5/scripts/fileshare/identifyZombieFiles.test.js b/backend/tests/v5/scripts/fileshare/identifyZombieFiles.test.js index 9eddf5a0301..d6282942d2d 100644 --- a/backend/tests/v5/scripts/fileshare/identifyZombieFiles.test.js +++ b/backend/tests/v5/scripts/fileshare/identifyZombieFiles.test.js @@ -81,7 +81,7 @@ const runTest = (data) => { }); test('Should remove zombie files if flag is set', async () => { - await IdentifyZombieFiles.run(undefined, true); + await IdentifyZombieFiles.run(undefined, true, 1); checkFileExists(data.referencedLinks, true); checkFileExists(data.toyLinks, true);