diff --git a/services/document-updater/app/coffee/ProjectHistoryRedisManager.coffee b/services/document-updater/app/coffee/ProjectHistoryRedisManager.coffee index 1cc80ea722..42b9f16df2 100644 --- a/services/document-updater/app/coffee/ProjectHistoryRedisManager.coffee +++ b/services/document-updater/app/coffee/ProjectHistoryRedisManager.coffee @@ -4,18 +4,8 @@ rclient = require("redis-sharelatex").createClient(Settings.redis.documentupdate logger = require('logger-sharelatex') module.exports = ProjectHistoryRedisManager = - queueOps: (project_id, ops..., callback = (error, projectUpdateCount) ->) -> - multi = rclient.multi() - # Push the ops onto the project history queue - multi.rpush projectHistoryKeys.projectHistoryOps({project_id}), ops... - # To record the age of the oldest op on the queue set a timestamp if not - # already present (SETNX). - multi.setnx projectHistoryKeys.projectHistoryFirstOpTimestamp({project_id}), Date.now() - multi.exec (error, result) -> - return callback(error) if error? - # return the number of entries pushed onto the project history queue - callback null, result[0] - + queueOps: (project_id, ops..., callback) -> + rclient.rpush projectHistoryKeys.projectHistoryOps({project_id}), ops..., callback queueRenameEntity: (project_id, projectHistoryId, entity_type, entity_id, user_id, projectUpdate, callback) -> projectUpdate = diff --git a/services/document-updater/config/settings.defaults.coffee b/services/document-updater/config/settings.defaults.coffee index dfce36f6e3..18f2b1570b 100755 --- a/services/document-updater/config/settings.defaults.coffee +++ b/services/document-updater/config/settings.defaults.coffee @@ -74,7 +74,6 @@ module.exports = project_history: key_schema: projectHistoryOps: ({project_id}) -> "ProjectHistory:Ops:#{project_id}" - projectHistoryFirstOpTimestamp: ({project_id}) -> "ProjectHistory:FirstOpTimestamp:#{project_id}" # cluster: [{ # port: "7000" # host: "localhost" diff --git a/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToADocTests.coffee b/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToADocTests.coffee index c6aa6fe856..cb560a26bb 100644 --- a/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToADocTests.coffee +++ b/services/document-updater/test/acceptance/coffee/ApplyingUpdatesToADocTests.coffee @@ -33,7 +33,7 @@ describe "Applying updates to a doc", -> before (done) -> [@project_id, @doc_id] = [DocUpdaterClient.randomId(), DocUpdaterClient.randomId()] sinon.spy MockWebApi, "getDocument" - @startTime = Date.now() + MockWebApi.insertDoc @project_id, @doc_id, {lines: @lines, version: @version} DocUpdaterClient.sendUpdate @project_id, @doc_id, @update, (error) -> throw error if error? @@ -67,27 +67,6 @@ describe "Applying updates to a doc", -> JSON.parse(updates[0]).op.should.deep.equal @update.op done() - it "should set the first op timestamp", (done) -> - rclient_history.get ProjectHistoryKeys.projectHistoryFirstOpTimestamp({@project_id}), (error, result) => - throw error if error? - result.should.be.within(@startTime, Date.now()) - @firstOpTimestamp = result - done() - - describe "when sending another update", -> - before (done) -> - @second_update = Object.create(@update) - @second_update.v = @version + 1 - DocUpdaterClient.sendUpdate @project_id, @doc_id, @second_update, (error) -> - throw error if error? - setTimeout done, 200 - - it "should not change the first op timestamp", (done) -> - rclient_history.get ProjectHistoryKeys.projectHistoryFirstOpTimestamp({@project_id}), (error, result) => - throw error if error? - result.should.equal @firstOpTimestamp - done() - describe "when the document is loaded", -> before (done) -> [@project_id, @doc_id] = [DocUpdaterClient.randomId(), DocUpdaterClient.randomId()] diff --git a/services/document-updater/test/unit/coffee/ProjectHistoryRedisManager/ProjectHistoryRedisManagerTests.coffee b/services/document-updater/test/unit/coffee/ProjectHistoryRedisManager/ProjectHistoryRedisManagerTests.coffee index 8c6ff5c7d7..aa777b40d6 100644 --- a/services/document-updater/test/unit/coffee/ProjectHistoryRedisManager/ProjectHistoryRedisManagerTests.coffee +++ b/services/document-updater/test/unit/coffee/ProjectHistoryRedisManager/ProjectHistoryRedisManagerTests.coffee @@ -20,7 +20,6 @@ describe "ProjectHistoryRedisManager", -> project_history: key_schema: projectHistoryOps: ({project_id}) -> "ProjectHistory:Ops:#{project_id}" - projectHistoryFirstOpTimestamp: ({project_id}) -> "ProjectHistory:FirstOpTimestamp:#{project_id}" } "redis-sharelatex": createClient: () => @rclient @@ -33,26 +32,16 @@ describe "ProjectHistoryRedisManager", -> describe "queueOps", -> beforeEach -> @ops = ["mock-op-1", "mock-op-2"] - @multi = exec: sinon.stub() - @multi.rpush = sinon.stub() - @multi.setnx = sinon.stub() - @rclient.multi = () => @multi - # @rclient = multi: () => @multi + @rclient.rpush = sinon.stub() @ProjectHistoryRedisManager.queueOps @project_id, @ops..., @callback it "should queue an update", -> - @multi.rpush + @rclient.rpush .calledWithExactly( "ProjectHistory:Ops:#{@project_id}" @ops[0] @ops[1] - ).should.equal true - - it "should set the queue timestamp if not present", -> - @multi.setnx - .calledWithExactly( - "ProjectHistory:FirstOpTimestamp:#{@project_id}" - Date.now() + @callback ).should.equal true describe "queueRenameEntity", ->