ensure box update backups are also preserved for 3 weeks

This commit is contained in:
Girish Ramakrishnan
2020-08-30 21:29:28 -07:00
parent d5ec38c4db
commit dd5dfd98b7
2 changed files with 12 additions and 9 deletions
+11 -8
View File
@@ -944,9 +944,10 @@ function uploadBoxSnapshot(backupConfig, progressCallback, callback) {
});
}
function rotateBoxBackup(backupConfig, tag, appBackupIds, progressCallback, callback) {
function rotateBoxBackup(backupConfig, tag, options, appBackupIds, progressCallback, callback) {
assert.strictEqual(typeof backupConfig, 'object');
assert.strictEqual(typeof tag, 'string');
assert.strictEqual(typeof object, 'object');
assert(Array.isArray(appBackupIds));
assert.strictEqual(typeof progressCallback, 'function');
assert.strictEqual(typeof callback, 'function');
@@ -977,7 +978,7 @@ function rotateBoxBackup(backupConfig, tag, appBackupIds, progressCallback, call
copy.on('done', function (copyBackupError) {
const state = copyBackupError ? exports.BACKUP_STATE_ERROR : exports.BACKUP_STATE_NORMAL;
backupdb.update(backupId, { state }, function (error) {
backupdb.update(backupId, { preserveSecs: options.preserveSecs || 0, state }, function (error) {
if (copyBackupError) return callback(copyBackupError);
if (error) return callback(error);
@@ -989,9 +990,10 @@ function rotateBoxBackup(backupConfig, tag, appBackupIds, progressCallback, call
});
}
function backupBoxWithAppBackupIds(appBackupIds, tag, progressCallback, callback) {
function backupBoxWithAppBackupIds(appBackupIds, tag, options, progressCallback, callback) {
assert(Array.isArray(appBackupIds));
assert.strictEqual(typeof tag, 'string');
assert.strictEqual(typeof options, 'object');
assert.strictEqual(typeof progressCallback, 'function');
assert.strictEqual(typeof callback, 'function');
@@ -1001,7 +1003,7 @@ function backupBoxWithAppBackupIds(appBackupIds, tag, progressCallback, callback
uploadBoxSnapshot(backupConfig, progressCallback, function (error) {
if (error) return callback(error);
rotateBoxBackup(backupConfig, tag, appBackupIds, progressCallback, callback);
rotateBoxBackup(backupConfig, tag, options, appBackupIds, progressCallback, callback);
});
});
}
@@ -1170,7 +1172,8 @@ function backupApp(app, options, progressCallback, callback) {
}
// this function expects you to have a lock. Unlike other progressCallback this also has a progress field
function backupBoxAndApps(progressCallback, callback) {
function backupBoxAndApps(options, progressCallback, callback) {
assert.strictEqual(typeof options, 'object');
assert.strictEqual(typeof progressCallback, 'function');
assert.strictEqual(typeof callback, 'function');
@@ -1192,7 +1195,7 @@ function backupBoxAndApps(progressCallback, callback) {
}
const startTime = new Date();
backupAppWithTag(app, tag, { /* options */ }, (progress) => progressCallback({ percent: percent, message: progress.message }), function (error, backupId) {
backupAppWithTag(app, tag, options, (progress) => progressCallback({ percent: percent, message: progress.message }), function (error, backupId) {
if (error) {
debugApp(app, 'Unable to backup', error);
return iteratorCallback(error);
@@ -1210,7 +1213,7 @@ function backupBoxAndApps(progressCallback, callback) {
progressCallback({ percent: percent, message: 'Backing up system data' });
percent += step;
backupBoxWithAppBackupIds(backupIds, tag, (progress) => progressCallback({ percent: percent, message: progress.message }), callback);
backupBoxWithAppBackupIds(backupIds, tag, options, (progress) => progressCallback({ percent: percent, message: progress.message }), callback);
});
});
}
@@ -1224,7 +1227,7 @@ function startBackupTask(auditSource, callback) {
const memoryLimit = 'memoryLimit' in backupConfig ? Math.max(backupConfig.memoryLimit/1024/1024, 400) : 400;
tasks.add(tasks.TASK_BACKUP, [ ], function (error, taskId) {
tasks.add(tasks.TASK_BACKUP, [ { /* options */ } ], function (error, taskId) {
if (error) return callback(error);
eventlog.add(eventlog.ACTION_BACKUP_START, auditSource, { taskId });