From efff026a79ed97b820df64fbdd499a075f71eafc Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Tue, 25 Aug 2015 16:52:28 -0300 Subject: [PATCH] handle easier propagation --- services/track-changes/app/coffee/MongoManager.coffee | 10 +++------- .../track-changes/app/coffee/UpdatesManager.coffee | 9 +++++---- 2 files changed, 8 insertions(+), 11 deletions(-) diff --git a/services/track-changes/app/coffee/MongoManager.coffee b/services/track-changes/app/coffee/MongoManager.coffee index b366ce51b9..1077199c2c 100644 --- a/services/track-changes/app/coffee/MongoManager.coffee +++ b/services/track-changes/app/coffee/MongoManager.coffee @@ -48,6 +48,7 @@ module.exports = MongoManager = insertCompressedUpdate: (project_id, doc_id, update, temporary, callback = (error) ->) -> + inS3 = update.inS3? update = { doc_id: ObjectId(doc_id.toString()) project_id: ObjectId(project_id.toString()) @@ -55,6 +56,8 @@ module.exports = MongoManager = meta: update.meta v: update.v } + if inS3 + update.inS3 = true if temporary seconds = 1000 @@ -135,13 +138,6 @@ module.exports = MongoManager = getArchivedDocChanges: (doc_id, callback)-> db.docHistory.count { doc_id: ObjectId(doc_id.toString()) , inS3: true }, {}, callback - remarkDocHistoryAsArchived: (doc_id, callback)-> - logger.log doc_id: doc_id, "remarkDocHistoryAsArchived" - MongoManager.getLastCompressedUpdate doc_id, (error, update) -> - db.docHistory.update { _id: update._id }, { $set : { inS3 : true } }, (error)-> - return callback(error) if error? - callback(error) - markDocHistoryAsArchived: (doc_id, update, callback)-> db.docHistory.update { _id: update._id }, { $set : { inS3 : true } }, (error)-> return callback(error) if error? diff --git a/services/track-changes/app/coffee/UpdatesManager.coffee b/services/track-changes/app/coffee/UpdatesManager.coffee index 38c97144a0..b500d5581c 100644 --- a/services/track-changes/app/coffee/UpdatesManager.coffee +++ b/services/track-changes/app/coffee/UpdatesManager.coffee @@ -7,6 +7,7 @@ UpdateTrimmer = require "./UpdateTrimmer" logger = require "logger-sharelatex" async = require "async" DocArchiveManager = require "./DocArchiveManager" +_ = require "underscore" module.exports = UpdatesManager = compressAndSaveRawUpdates: (project_id, doc_id, rawUpdates, temporary, callback = (error) ->) -> @@ -33,13 +34,13 @@ module.exports = UpdatesManager = return compressedUpdates = UpdateCompressor.compressRawUpdates lastCompressedUpdate, rawUpdates + if lastCompressedUpdate?.inS3? and not _.some(compressedUpdates, (update) -> update.inS3) + compressedUpdates[compressedUpdates.length-1].inS3 = lastCompressedUpdate.inS3 + MongoManager.insertCompressedUpdates project_id, doc_id, compressedUpdates, temporary,(error) -> return callback(error) if error? logger.log project_id: project_id, doc_id: doc_id, rawUpdatesLength: length, compressedUpdatesLength: compressedUpdates.length, "compressed doc updates" - if lastCompressedUpdate?.inS3? - MongoManager.remarkDocHistoryAsArchived doc_id, callback - else - callback() + callback() REDIS_READ_BATCH_SIZE: 100 processUncompressedUpdates: (project_id, doc_id, callback = (error) ->) ->