diff --git a/src/backups.js b/src/backups.js index f0b404e4c..aa4dc5a22 100644 --- a/src/backups.js +++ b/src/backups.js @@ -232,7 +232,7 @@ function sync(backupConfig, backupId, dataDir, callback) { assert.strictEqual(typeof callback, 'function'); function setBackupProgress(message) { - debug(message); + debug('%s: %s', (new Date()).toISOString(), message); safe.fs.writeFileSync(paths.BACKUP_RESULT_FILE, message); } @@ -257,10 +257,16 @@ function sync(backupConfig, backupId, dataDir, callback) { ++retryCount; debug(`${task.operation} ${task.path} try ${retryCount}`); if (task.operation === 'add') { - setBackupProgress(`Adding ${task.path}`); + setBackupProgress(`Adding ${task.path} try ${retryCount}`); var stream = fs.createReadStream(path.join(dataDir, task.path)); - stream.on('error', function (error) { setBackupProgress(`read stream error for ${task.path}: ${error.message}`); retryCallback(); }); // ignore error if file disappears - api(backupConfig.provider).upload(backupConfig, backupFilePath, stream, retryCallback); + stream.on('error', function (error) { + setBackupProgress(`read stream error for ${task.path}: ${error.message}`); + retryCallback(); + }); // ignore error if file disappears + api(backupConfig.provider).upload(backupConfig, backupFilePath, stream, function (error) { + setBackupProgress(error ? `Error uploading ${task.path} try ${retryCount}: ${error.message}` : `Uploaded ${task.path}`); + retryCallback(error); + }); } }, iteratorCallback); }, 10 /* concurrency */, function (error) { diff --git a/src/storage/s3.js b/src/storage/s3.js index d99538c3b..23b955851 100644 --- a/src/storage/s3.js +++ b/src/storage/s3.js @@ -141,7 +141,7 @@ function upload(apiConfig, backupFilePath, sourceStream, callback) { // uploader will buffer at most queueSize * partSize bytes into memory at any given time. s3.upload(params, { partSize: 10 * 1024 * 1024, queueSize: 1 }, function (error) { if (error) { - debug('[%s] upload: s3 upload error.', backupFilePath, error); + debug('Error uploading [%s]: s3 upload error.', backupFilePath, error); return callback(new BackupsError(BackupsError.EXTERNAL_ERROR, `Error uploading ${backupFilePath}. Message: ${error.message} HTTP Code: ${error.code}`)); }