Merge pull request #8644 from overleaf/bg-archive-track-changes

archive track changes zip files in project when history migration fails

GitOrigin-RevId: 67f2381b0a8f2fb1de82100752031c65808af885
This commit is contained in:
Brian Gough
2022-06-30 09:21:50 +01:00
committed by Copybot
parent 93c2168ab2
commit da02a4f2be
4 changed files with 44 additions and 1 deletions

View File

@@ -8,6 +8,7 @@ const RETRY_FAILED = process.env.RETRY_FAILED === 'true'
const MAX_UPGRADES_TO_ATTEMPT =
parseInt(process.env.MAX_UPGRADES_TO_ATTEMPT, 10) || false
const MAX_FAILURES = parseInt(process.env.MAX_FAILURES, 10) || 50
const ARCHIVE_ON_FAILURE = process.env.ARCHIVE_ON_FAILURE === 'true'
// persist fallback in order to keep batchedUpdate in-sync
process.env.BATCH_SIZE = BATCH_SIZE
// raise mongo timeout to 1hr if otherwise unspecified
@@ -37,6 +38,7 @@ console.log({
MAX_FAILURES,
USE_QUERY_HINT,
RETRY_FAILED,
ARCHIVE_ON_FAILURE,
PROJECT_ID,
})
@@ -86,6 +88,9 @@ async function processProject(project) {
project.overleaf.history.conversionFailed ||
project.overleaf.history.upgradeFailed
) {
if (project.overleaf.history.zipFileArchivedInProject) {
return // always give up if we have uploaded the zipfile to the project
}
if (!RETRY_FAILED) {
// we don't want to attempt upgrade on projects
// that have been previously attempted and failed
@@ -123,7 +128,9 @@ async function doUpgradeForNoneWithConversion(project) {
`converted ${convertedDocCount} large docs to binary files for project ${projectId}`
)
}
await ProjectHistoryController.migrateProjectHistory(projectIdString)
await ProjectHistoryController.migrateProjectHistory(projectIdString, {
archiveOnFailure: ARCHIVE_ON_FAILURE,
})
} catch (err) {
// if migrateProjectHistory fails, it cleans up by deleting
// the history and unsetting the history id