From 035e0c1213779bc452b2eb971b09cd69b60c8a99 Mon Sep 17 00:00:00 2001 From: Shane Kilkelly Date: Wed, 22 Nov 2017 13:37:57 +0000 Subject: [PATCH] Add `autoIndex: false` option to mongoose connections. This prevents mongoose from auto-creating missing indexes on boot. --- services/web/app/coffee/infrastructure/Mongoose.coffee | 5 ++++- services/web/app/coffee/models/Project.coffee | 6 ++++-- services/web/app/coffee/models/ProjectInvite.coffee | 7 ++++--- services/web/app/coffee/models/Subscription.coffee | 8 +++++--- services/web/app/coffee/models/SystemMessage.coffee | 8 ++++++-- services/web/app/coffee/models/User.coffee | 5 ++++- services/web/app/coffee/models/UserStub.coffee | 5 ++++- 7 files changed, 31 insertions(+), 13 deletions(-) diff --git a/services/web/app/coffee/infrastructure/Mongoose.coffee b/services/web/app/coffee/infrastructure/Mongoose.coffee index 7fbf64fd71..c58889ee48 100644 --- a/services/web/app/coffee/infrastructure/Mongoose.coffee +++ b/services/web/app/coffee/infrastructure/Mongoose.coffee @@ -2,7 +2,10 @@ mongoose = require('mongoose') Settings = require 'settings-sharelatex' logger = require('logger-sharelatex') -mongoose.connect(Settings.mongo.url, server: poolSize: 10) +mongoose.connect(Settings.mongo.url, { + server: {poolSize: 10}, + config: {autoIndex: false} +}) mongoose.connection.on 'connected', () -> logger.log {url:Settings.mongo.url}, 'mongoose default connection open' diff --git a/services/web/app/coffee/models/Project.coffee b/services/web/app/coffee/models/Project.coffee index b7ec21abd6..e0013f8c5f 100644 --- a/services/web/app/coffee/models/Project.coffee +++ b/services/web/app/coffee/models/Project.coffee @@ -73,12 +73,14 @@ applyToAllFilesRecursivly = ProjectSchema.statics.applyToAllFilesRecursivly = (f _.each folder.folders, (folder)-> applyToAllFilesRecursivly(folder, fun) - ProjectSchema.methods.getSafeProjectName = -> safeProjectName = this.name.replace(new RegExp("\\W", "g"), '_') return sanitize.escape(safeProjectName) -conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: Settings.mongo.poolSize || 10) +conn = mongoose.createConnection(Settings.mongo.url, { + server: {poolSize: Settings.mongo.poolSize || 10}, + config: {autoIndex: false} +}) Project = conn.model('Project', ProjectSchema) diff --git a/services/web/app/coffee/models/ProjectInvite.coffee b/services/web/app/coffee/models/ProjectInvite.coffee index 9b9e0cb350..3be74f63ac 100644 --- a/services/web/app/coffee/models/ProjectInvite.coffee +++ b/services/web/app/coffee/models/ProjectInvite.coffee @@ -30,9 +30,10 @@ ProjectInviteSchema = new Schema( } ) - -conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: Settings.mongo.poolSize || 10) - +conn = mongoose.createConnection(Settings.mongo.url, { + server: {poolSize: Settings.mongo.poolSize || 10}, + config: {autoIndex: false} +}) ProjectInvite = conn.model('ProjectInvite', ProjectInviteSchema) diff --git a/services/web/app/coffee/models/Subscription.coffee b/services/web/app/coffee/models/Subscription.coffee index 13d8473bcb..aaf78a4ab2 100644 --- a/services/web/app/coffee/models/Subscription.coffee +++ b/services/web/app/coffee/models/Subscription.coffee @@ -25,11 +25,13 @@ SubscriptionSchema.statics.findAndModify = (query, update, callback)-> this.update query, update, -> self.findOne query, callback - -conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: Settings.mongo.poolSize || 10) +conn = mongoose.createConnection(Settings.mongo.url, { + server: {poolSize: Settings.mongo.poolSize || 10}, + config: {autoIndex: false} +}) Subscription = conn.model('Subscription', SubscriptionSchema) mongoose.model 'Subscription', SubscriptionSchema exports.Subscription = Subscription -exports.SubscriptionSchema = SubscriptionSchema \ No newline at end of file +exports.SubscriptionSchema = SubscriptionSchema diff --git a/services/web/app/coffee/models/SystemMessage.coffee b/services/web/app/coffee/models/SystemMessage.coffee index adb665fede..ccaa2028e2 100644 --- a/services/web/app/coffee/models/SystemMessage.coffee +++ b/services/web/app/coffee/models/SystemMessage.coffee @@ -6,7 +6,11 @@ ObjectId = Schema.ObjectId SystemMessageSchema = new Schema content : type: String, default:'' - -conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: Settings.mongo.poolSize || 10) + +conn = mongoose.createConnection(Settings.mongo.url, { + server: {poolSize: Settings.mongo.poolSize || 10}, + config: {autoIndex: false} +}) + exports.SystemMessage = conn.model('SystemMessage', SystemMessageSchema) diff --git a/services/web/app/coffee/models/User.coffee b/services/web/app/coffee/models/User.coffee index 4dfea8b9cf..7689856ad3 100644 --- a/services/web/app/coffee/models/User.coffee +++ b/services/web/app/coffee/models/User.coffee @@ -64,7 +64,10 @@ UserSchema = new Schema accessToken: { type: String } refreshToken: { type: String } -conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: 10) +conn = mongoose.createConnection(Settings.mongo.url, { + server: {poolSize: Settings.mongo.poolSize || 10}, + config: {autoIndex: false} +}) User = conn.model('User', UserSchema) diff --git a/services/web/app/coffee/models/UserStub.coffee b/services/web/app/coffee/models/UserStub.coffee index c37a7dfb30..26791972d5 100644 --- a/services/web/app/coffee/models/UserStub.coffee +++ b/services/web/app/coffee/models/UserStub.coffee @@ -9,7 +9,10 @@ UserStubSchema = new Schema last_name : { type : String, default : '' } overleaf : { id: { type: Number } } -conn = mongoose.createConnection(Settings.mongo.url, server: poolSize: 10) +conn = mongoose.createConnection(Settings.mongo.url, { + server: {poolSize: Settings.mongo.poolSize || 10}, + config: {autoIndex: false} +}) UserStub = conn.model('UserStub', UserStubSchema)