From c3465cf3d494d429807d9e8bef8e3d4ac3a0c0a8 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Tue, 18 Jul 2017 15:28:18 +0100 Subject: [PATCH] Reduce retry delay to 10ms, and refactor --- .../document-updater/app/coffee/PersistenceManager.coffee | 7 ++++--- .../PersistenceManager/PersistenceManagerTests.coffee | 6 +++--- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/services/document-updater/app/coffee/PersistenceManager.coffee b/services/document-updater/app/coffee/PersistenceManager.coffee index 31298e31b6..1e168f5495 100644 --- a/services/document-updater/app/coffee/PersistenceManager.coffee +++ b/services/document-updater/app/coffee/PersistenceManager.coffee @@ -1,8 +1,11 @@ -request = require "requestretry" Settings = require "settings-sharelatex" Errors = require "./Errors" Metrics = require "./Metrics" logger = require "logger-sharelatex" +request = (require("requestretry")).defaults({ + maxAttempts: 2 + retryDelay: 10 +}) # We have to be quick with HTTP calls because we're holding a lock that # expires after 30 seconds. We can't let any errors in the rest of the stack @@ -28,7 +31,6 @@ module.exports = PersistenceManager = sendImmediately: true jar: false timeout: MAX_HTTP_REQUEST_LENGTH - maxAttempts: 2 # for requestretry }, (error, res, body) -> return callback(error) if error? if res.statusCode >= 200 and res.statusCode < 300 @@ -66,7 +68,6 @@ module.exports = PersistenceManager = sendImmediately: true jar: false timeout: MAX_HTTP_REQUEST_LENGTH - maxAttempts: 2 # for requestretry }, (error, res, body) -> return callback(error) if error? if res.statusCode >= 200 and res.statusCode < 300 diff --git a/services/document-updater/test/unit/coffee/PersistenceManager/PersistenceManagerTests.coffee b/services/document-updater/test/unit/coffee/PersistenceManager/PersistenceManagerTests.coffee index cd44ce52b3..d6fa519b4c 100644 --- a/services/document-updater/test/unit/coffee/PersistenceManager/PersistenceManagerTests.coffee +++ b/services/document-updater/test/unit/coffee/PersistenceManager/PersistenceManagerTests.coffee @@ -7,8 +7,10 @@ Errors = require "../../../../app/js/Errors" describe "PersistenceManager", -> beforeEach -> + @request = sinon.stub() + @request.defaults = () => @request @PersistenceManager = SandboxedModule.require modulePath, requires: - "requestretry": @request = sinon.stub() + "requestretry": @request "settings-sharelatex": @Settings = {} "./Metrics": @Metrics = Timer: class Timer @@ -50,7 +52,6 @@ describe "PersistenceManager", -> sendImmediately: true jar: false timeout: 5000 - maxAttempts: 2 }) .should.equal true @@ -130,7 +131,6 @@ describe "PersistenceManager", -> sendImmediately: true jar: false timeout: 5000 - maxAttempts: 2 }) .should.equal true