From 35030160fa7402a6f13e325921af46d1a8731ec8 Mon Sep 17 00:00:00 2001 From: Lucas Hrabovsky Date: Tue, 10 Nov 2015 11:31:23 -0500 Subject: [PATCH] :tada: INT-527: use maxTimeMS for queries against prod servers to avoid excessive scans --- package.json | 3 ++- src/models/query-options.js | 9 ++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/package.json b/package.json index 59c055bbe48..76e75781594 100644 --- a/package.json +++ b/package.json @@ -78,8 +78,9 @@ "mongodb-connection-model": "^3.0.6", "mongodb-instance-model": "^1.0.2", "mongodb-ns": "^1.0.0", + "ms": "^0.7.1", "node-notifier": "^4.3.1", - "scout-server": "http://bin.mongodb.org/js/scout-server/v0.4.5/scout-server-0.4.5.tar.gz" + "scout-server": "http://bin.mongodb.org/js/scout-server/v0.4.6/scout-server-0.4.6.tar.gz" }, "devDependencies": { "ampersand-app": "^1.0.4", diff --git a/src/models/query-options.js b/src/models/query-options.js index e7a216a0143..e2be824c0c5 100644 --- a/src/models/query-options.js +++ b/src/models/query-options.js @@ -1,3 +1,4 @@ +var ms = require('ms'); var Model = require('ampersand-model'); var EJSON = require('mongodb-extended-json'); var Query = require('mongodb-language-model').Query; @@ -8,6 +9,7 @@ var DEFAULT_SORT = { }; var DEFAULT_SIZE = 100; var DEFAULT_SKIP = 0; +var DEFAULT_MAX_TIME_MS = ms('10 seconds'); var getDefaultQuery = function() { return new Query({}, { @@ -39,6 +41,10 @@ module.exports = Model.extend({ skip: { type: 'number', default: DEFAULT_SKIP + }, + maxTimeMS: { + type: 'number', + default: DEFAULT_MAX_TIME_MS } }, derived: { @@ -60,7 +66,8 @@ module.exports = Model.extend({ query: getDefaultQuery(), sort: DEFAULT_SORT, size: DEFAULT_SIZE, - skip: DEFAULT_SKIP + skip: DEFAULT_SKIP, + maxTimeMS: DEFAULT_MAX_TIME_MS }); this.trigger('reset', this); }