diff --git a/services/document-updater/app/coffee/RedisManager.coffee b/services/document-updater/app/coffee/RedisManager.coffee index 2e59fefd57..cb2e28b296 100644 --- a/services/document-updater/app/coffee/RedisManager.coffee +++ b/services/document-updater/app/coffee/RedisManager.coffee @@ -119,34 +119,4 @@ module.exports = RedisManager = getDocIdsInProject: (project_id, callback = (error, doc_ids) ->) -> rclient.smembers keys.docsInProject(project_id: project_id), callback - - getAndSetDoc: (doc_id, callback = (error, project_id) ->) -> - multi = rclient.multi() - multi.get keys.docLines(doc_id:doc_id) - multi.get keys.docVersion(doc_id:doc_id) - multi.lrange keys.docOps(doc_id:doc_id), 0, -1 - multi.get keys.projectKey(doc_id:doc_id) - multi.exec (error, results = []) -> - return callback(error) if error? - [lines, version, ops, project_id] = results - multi = rclient.multi() - if lines? - multi.set keys.docLines(doc_id:doc_id), lines - if version? - multi.set keys.docVersion(doc_id:doc_id), version - multi.del keys.docOps(doc_id:doc_id) - if ops.length > 0 - multi.rpush keys.docOps(doc_id:doc_id), ops... - if project_id? - multi.set keys.projectKey(doc_id:doc_id), project_id - multi.exec (error) -> - return callback(error) if error? - return callback null, project_id - - getAndSetProject: (project_id, callback = (error) ->) -> - rclient.smembers keys.docsInProject(project_id: project_id), (error, doc_ids) -> - return callback(error) if error? - if doc_ids.length > 0 - rclient.sadd keys.docsInProject(project_id: project_id), doc_ids..., callback - else - callback() + diff --git a/services/document-updater/migrate.coffee b/services/document-updater/migrate.coffee deleted file mode 100644 index d0ede23a22..0000000000 --- a/services/document-updater/migrate.coffee +++ /dev/null @@ -1,36 +0,0 @@ -RedisManager = require "./app/coffee/RedisManager" -UpdateManager = require "./app/coffee/UpdateManager" -LockManager = require "./app/coffee/LockManager" - -async = require "async" - -handleErrorInsideLock = (doc_id, lockValue, original_error, callback = (error) ->) -> - LockManager.releaseLock doc_id, lockValue, (lock_error) -> - callback(original_error) - -migrateDoc = (doc_id, callback = (error) ->) -> - LockManager.getLock doc_id, (error, lockValue) -> - return callback(error) if error? - RedisManager.getAndSetDoc doc_id, (error, project_id) -> - return handleErrorInsideLock(doc_id, lockValue, error, callback) if error? - RedisManager.getAndSetProject project_id, (error) -> - return handleErrorInsideLock(doc_id, lockValue, error, callback) if error? - LockManager.releaseLock doc_id, lockValue, (error) -> - return callback(error) if error? - UpdateManager.continueProcessingUpdatesWithLock project_id, doc_id, callback - -doc_ids = process.argv.slice(2) -if doc_ids.length == 0 - console.log "Usage: coffee migrate.coffee DOC_ID [DOC_ID ...]" - process.exit(1) - -jobs = [] -for doc_id in doc_ids - do (doc_id) -> - jobs.push (cb) -> - console.log "MIGRATING #{doc_id}" - migrateDoc doc_id, cb - -async.series jobs, (error) -> - throw error if error? - process.exit(0) diff --git a/services/document-updater/test/unit/coffee/RedisManager/RedisManagerTests.coffee b/services/document-updater/test/unit/coffee/RedisManager/RedisManagerTests.coffee index 6ca5250050..105b391b33 100644 --- a/services/document-updater/test/unit/coffee/RedisManager/RedisManagerTests.coffee +++ b/services/document-updater/test/unit/coffee/RedisManager/RedisManagerTests.coffee @@ -230,68 +230,4 @@ describe "RedisManager", -> @rclient.srem .calledWith("DocsIn:#{@project_id}", @doc_id) .should.equal true - - describe "getAndSetDoc", -> - beforeEach -> - @rclient.get = sinon.stub() - @rclient.lrange = sinon.stub() - @rclient.del = sinon.stub() - @rclient.set = sinon.stub() - @rclient.rpush = sinon.stub() - @rclient.exec = sinon.stub() - @rclient.exec.yields(null, [ - @lines = '["mock","lines"]', - @version = 42, - @doc_ops = ["mock", "doc", "ops"], - @project_id = "mock-project-id" - ]) - @RedisManager.getAndSetDoc @doc_id, @callback - - it "should get the original values", -> - @rclient.get - .calledWith("doclines:#{@doc_id}") - .should.equal true - @rclient.get - .calledWith("DocVersion:#{@doc_id}") - .should.equal true - @rclient.get - .calledWith("ProjectId:#{@doc_id}") - .should.equal true - @rclient.lrange - .calledWith("DocOps:#{@doc_id}", 0, -1) - .should.equal true - - it "should set the doclines again", -> - @rclient.set - .calledWith("doclines:#{@doc_id}", @lines) - .should.equal true - - it "should set the DocVersion again", -> - @rclient.set - .calledWith("DocVersion:#{@doc_id}", @version) - .should.equal true - - it "should set the project id again", -> - @rclient.set - .calledWith("ProjectId:#{@doc_id}", @project_id) - .should.equal true - - it "should set the doc ops again", -> - @rclient.del - .calledWith("DocOps:#{@doc_id}") - .should.equal true - @rclient.rpush - .calledWith("DocOps:#{@doc_id}", @doc_ops...) - .should.equal true - - describe "getAndSetProject", -> - beforeEach -> - @rclient.smembers = sinon.stub() - @rclient.sadd = sinon.stub() - @rclient.smembers.withArgs("DocsIn:#{@project_id}").yields(null, @doc_ids = ["mock-doc-1", "mock-doc-2"]) - @RedisManager.getAndSetProject @project_id, @callback - - it "should set the doc ids again", -> - @rclient.sadd - .calledWith("DocsIn:#{@project_id}", @doc_ids...) - .should.equal true +