diff --git a/services/track-changes/app.coffee b/services/track-changes/app.coffee index f6b4c0f112..779351975c 100644 --- a/services/track-changes/app.coffee +++ b/services/track-changes/app.coffee @@ -7,8 +7,6 @@ Metrics = require "metrics-sharelatex" Metrics.initialize("track-changes") Metrics.mongodb.monitor(Path.resolve(__dirname + "/node_modules/mongojs/node_modules/mongodb"), logger) -require("./app/js/MongoManager").ensureIndices() - HttpController = require "./app/js/HttpController" express = require "express" app = express() diff --git a/services/track-changes/app/coffee/MongoManager.coffee b/services/track-changes/app/coffee/MongoManager.coffee index 1fc13ca299..f2f664dfd6 100644 --- a/services/track-changes/app/coffee/MongoManager.coffee +++ b/services/track-changes/app/coffee/MongoManager.coffee @@ -82,12 +82,6 @@ module.exports = MongoManager = cursor.toArray callback - deleteOldProjectUpdates: (project_id, before, callback = (error) ->) -> - db.docHistory.remove { - project_id: ObjectId(project_id) - "meta.end_ts": { $lt: before } - }, callback - backportProjectId: (project_id, doc_id, callback = (error) ->) -> db.docHistory.update { doc_id: ObjectId(doc_id.toString()) diff --git a/services/track-changes/app/coffee/UpdateTrimmer.coffee b/services/track-changes/app/coffee/UpdateTrimmer.coffee index 649a801a43..83a08e36fa 100644 --- a/services/track-changes/app/coffee/UpdateTrimmer.coffee +++ b/services/track-changes/app/coffee/UpdateTrimmer.coffee @@ -19,14 +19,3 @@ module.exports = UpdateTrimmer = else callback null, true - deleteOldProjectUpdates: (project_id, callback = (error) ->) -> - UpdateTrimmer.shouldTrimUpdates project_id, (error, shouldTrim) -> - return callback(error) if error? - if shouldTrim - logger.log project_id: project_id, "deleting old updates" - oneWeek = 7 * 24 * 60 * 60 * 1000 - before = Date.now() - oneWeek - MongoManager.deleteOldProjectUpdates project_id, before, callback - else - logger.log project_id: project_id, "not deleting old updates" - callback() \ No newline at end of file diff --git a/services/track-changes/app/coffee/UpdatesManager.coffee b/services/track-changes/app/coffee/UpdatesManager.coffee index 0aae777695..1e2d540752 100644 --- a/services/track-changes/app/coffee/UpdatesManager.coffee +++ b/services/track-changes/app/coffee/UpdatesManager.coffee @@ -77,9 +77,7 @@ module.exports = UpdatesManager = do (doc_id) -> jobs.push (callback) -> UpdatesManager.processUncompressedUpdatesWithLock project_id, doc_id, callback - async.parallelLimit jobs, 5, (error) -> - return callback(error) if error? - UpdateTrimmer.deleteOldProjectUpdates project_id, callback + async.parallelLimit jobs, 5, callback getDocUpdates: (project_id, doc_id, options = {}, callback = (error, updates) ->) -> UpdatesManager.processUncompressedUpdatesWithLock project_id, doc_id, (error) -> diff --git a/services/track-changes/test/acceptance/coffee/FlushingUpdatesTests.coffee b/services/track-changes/test/acceptance/coffee/FlushingUpdatesTests.coffee index 80b6275962..63ddca4da9 100644 --- a/services/track-changes/test/acceptance/coffee/FlushingUpdatesTests.coffee +++ b/services/track-changes/test/acceptance/coffee/FlushingUpdatesTests.coffee @@ -63,9 +63,9 @@ describe "Flushing updates", -> throw error if error? done() - it "should not delete the old updates", (done) -> + it "should not mark the updates for deletion", (done) -> TrackChangesClient.getCompressedUpdates @doc_id, (error, updates) -> - expect(updates.length).to.equal 2 + expect(updates[0].expiresAt).to.not.exist done() it "should preserve history forever", (done) -> @@ -99,10 +99,9 @@ describe "Flushing updates", -> throw error if error? done() - it "should delete the older update, but the newer update", (done) -> + it "should mark the updates for deletion", (done) -> TrackChangesClient.getCompressedUpdates @doc_id, (error, updates) -> - expect(updates.length).to.equal 1 - expect(updates[0].op).to.deep.equal [{ i: "f", p: 3 }] + expect(updates[0].expiresAt).to.exist done() describe "without versioning enabled but with preserveHistory set to true", -> @@ -133,7 +132,7 @@ describe "Flushing updates", -> throw error if error? done() - it "should not delete the old updates", (done) -> + it "should not mark the updates for deletion", (done) -> TrackChangesClient.getCompressedUpdates @doc_id, (error, updates) -> - expect(updates.length).to.equal 2 + expect(updates[0].expiresAt).to.not.exist done() diff --git a/services/track-changes/test/unit/coffee/MongoManager/MongoManagerTests.coffee b/services/track-changes/test/unit/coffee/MongoManager/MongoManagerTests.coffee index 186aac8a62..fa1ec9232f 100644 --- a/services/track-changes/test/unit/coffee/MongoManager/MongoManagerTests.coffee +++ b/services/track-changes/test/unit/coffee/MongoManager/MongoManagerTests.coffee @@ -336,21 +336,3 @@ describe "MongoManager", -> it "should call the callback", -> @callback.called.should.equal true - - describe "deleteOldProjectUpdates", -> - beforeEach -> - @before = Date.now() - 10000 - @db.docHistory = - remove: sinon.stub().callsArg(1) - @MongoManager.deleteOldProjectUpdates @project_id, @before, @callback - - it "should delete updates before the 'before' time", -> - @db.docHistory.remove - .calledWith({ - project_id: ObjectId(@project_id) - "meta.end_ts": { "$lt": @before } - }) - .should.equal true - - it "should return the callback", -> - @callback.called.should.equal true diff --git a/services/track-changes/test/unit/coffee/UpdateTrimmer/UpdateTrimmerTests.coffee b/services/track-changes/test/unit/coffee/UpdateTrimmer/UpdateTrimmerTests.coffee index 10b0599c23..afcfe53513 100644 --- a/services/track-changes/test/unit/coffee/UpdateTrimmer/UpdateTrimmerTests.coffee +++ b/services/track-changes/test/unit/coffee/UpdateTrimmer/UpdateTrimmerTests.coffee @@ -109,34 +109,3 @@ describe "UpdateTrimmer", -> it "should return true", -> @callback.calledWith(null, true).should.equal true - describe "deleteOldProjectUpdates", -> - beforeEach -> - @oneWeek = 7 * 24 * 60 * 60 * 1000 - @MongoManager.deleteOldProjectUpdates = sinon.stub().callsArg(2) - - describe "when the updates should be trimmed", -> - beforeEach -> - @UpdateTrimmer.shouldTrimUpdates = sinon.stub().callsArgWith(1, null, true) - @UpdateTrimmer.deleteOldProjectUpdates @project_id, @callback - - it "should delete week old updates in mongo", -> - before = Date.now() - @oneWeek - @MongoManager.deleteOldProjectUpdates - .calledWith(@project_id, before) - .should.equal true - - it 'should call the callback', -> - @callback.called.should.equal true - - describe "when the updates should not be trimmed", -> - beforeEach -> - @UpdateTrimmer.shouldTrimUpdates = sinon.stub().callsArgWith(1, null, false) - @UpdateTrimmer.deleteOldProjectUpdates @project_id, @callback - - it "should not delete any updates in mongo", -> - @MongoManager.deleteOldProjectUpdates - .called - .should.equal false - - it 'should call the callback', -> - @callback.called.should.equal true diff --git a/services/track-changes/test/unit/coffee/UpdatesManager/UpdatesManagerTests.coffee b/services/track-changes/test/unit/coffee/UpdatesManager/UpdatesManagerTests.coffee index 12554c817b..fdc19360b7 100644 --- a/services/track-changes/test/unit/coffee/UpdatesManager/UpdatesManagerTests.coffee +++ b/services/track-changes/test/unit/coffee/UpdatesManager/UpdatesManagerTests.coffee @@ -285,7 +285,6 @@ describe "UpdatesManager", -> @doc_ids = ["mock-id-1", "mock-id-2"] @UpdatesManager.processUncompressedUpdatesWithLock = sinon.stub().callsArg(2) @RedisManager.getDocIdsWithHistoryOps = sinon.stub().callsArgWith(1, null, @doc_ids) - @UpdateTrimmer.deleteOldProjectUpdates = sinon.stub().callsArg(1) @UpdatesManager.processUncompressedUpdatesForProject @project_id, () => @callback() done() @@ -301,11 +300,6 @@ describe "UpdatesManager", -> .calledWith(@project_id, doc_id) .should.equal true - it "should delete old updates for the project", -> - @UpdateTrimmer.deleteOldProjectUpdates - .calledWith(@project_id) - .should.equal true - it "should call the callback", -> @callback.called.should.equal true