From 3d1e6fb28af013b96d769da6c9c37d2fa21c5e89 Mon Sep 17 00:00:00 2001 From: Brian Gough Date: Mon, 6 Aug 2018 12:00:40 +0100 Subject: [PATCH 1/3] increase body parser limit to 64kb the 16kb limit is not enough when the doc has too many escape characters --- services/docstore/app.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/docstore/app.coffee b/services/docstore/app.coffee index f81b4f3ea8..aa6e9bff15 100644 --- a/services/docstore/app.coffee +++ b/services/docstore/app.coffee @@ -31,8 +31,8 @@ app.get '/project/:project_id/doc', HttpController.getAllDocs app.get '/project/:project_id/ranges', HttpController.getAllRanges app.get '/project/:project_id/doc/:doc_id', HttpController.getDoc app.get '/project/:project_id/doc/:doc_id/raw', HttpController.getRawDoc -# Add 16kb overhead for the JSON encoding -app.post '/project/:project_id/doc/:doc_id', bodyParser.json(limit: Settings.max_doc_length + 16 * 1024), HttpController.updateDoc +# Add 64kb overhead for the JSON encoding +app.post '/project/:project_id/doc/:doc_id', bodyParser.json(limit: Settings.max_doc_length + 64 * 1024), HttpController.updateDoc app.del '/project/:project_id/doc/:doc_id', HttpController.deleteDoc app.post '/project/:project_id/archive', HttpController.archiveAllDocs From 2828df74e5d4ba6373f94a80fbac06cef58619ed Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Wed, 3 Oct 2018 14:57:01 +0100 Subject: [PATCH 2/3] hard delete a doc on health check --- services/docstore/app/coffee/HealthChecker.coffee | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/services/docstore/app/coffee/HealthChecker.coffee b/services/docstore/app/coffee/HealthChecker.coffee index cb5d053aa1..71e7005f7b 100644 --- a/services/docstore/app/coffee/HealthChecker.coffee +++ b/services/docstore/app/coffee/HealthChecker.coffee @@ -1,4 +1,4 @@ -ObjectId = require("mongojs").ObjectId +{db, ObjectId} = require "./mongojs" request = require("request") async = require("async") _ = require("underscore") @@ -40,4 +40,4 @@ module.exports = async.series jobs, (err)-> if err? callback(err) - request.del getOpts(), callback + db.docs.remove {_id: doc_id, project_id: project_id}, callback From 7e3c6ddb3f603fa4b999a3816dfc2f77d3c8f1fa Mon Sep 17 00:00:00 2001 From: Henry Oswald Date: Fri, 19 Oct 2018 11:37:44 +0100 Subject: [PATCH 3/3] also delete doc ops --- services/docstore/app/coffee/HealthChecker.coffee | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/services/docstore/app/coffee/HealthChecker.coffee b/services/docstore/app/coffee/HealthChecker.coffee index 71e7005f7b..4280f8aa58 100644 --- a/services/docstore/app/coffee/HealthChecker.coffee +++ b/services/docstore/app/coffee/HealthChecker.coffee @@ -36,8 +36,9 @@ module.exports = cb() else cb("health check lines not equal #{body.lines} != #{lines}") + (cb)-> + db.docs.remove {_id: doc_id, project_id: project_id}, cb + (cb)-> + db.docOps.remove {doc_id: doc_id}, cb ] - async.series jobs, (err)-> - if err? - callback(err) - db.docs.remove {_id: doc_id, project_id: project_id}, callback + async.series jobs, callback