From de4c1ee41817c01ebd475463f2079b75f89d77e8 Mon Sep 17 00:00:00 2001 From: Greenkeeper Date: Mon, 16 Jan 2017 22:26:14 +0100 Subject: [PATCH] =?UTF-8?q?Update=20mongodb=20to=20version=202.2.21=20?= =?UTF-8?q?=F0=9F=9A=80=20(#3368)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * chore(package): update mongodb to version 2.2.20 https://greenkeeper.io/ * Fix race when fetching schema frequently * Bumps mongo to 2.2.21 --- package.json | 2 +- spec/ParseQuery.spec.js | 3 ++- spec/ParseRelation.spec.js | 9 +++++++++ src/Controllers/SchemaController.js | 16 ++++++++++------ 4 files changed, 22 insertions(+), 8 deletions(-) diff --git a/package.json b/package.json index 76f35a64..24fea34c 100644 --- a/package.json +++ b/package.json @@ -27,7 +27,7 @@ "lodash": "4.17.4", "lru-cache": "4.0.2", "mime": "1.3.4", - "mongodb": "2.2.10", + "mongodb": "2.2.21", "multer": "1.2.1", "parse": "1.9.2", "parse-server-fs-adapter": "1.0.1", diff --git a/spec/ParseQuery.spec.js b/spec/ParseQuery.spec.js index 69e6cd23..1cbe41db 100644 --- a/spec/ParseQuery.spec.js +++ b/spec/ParseQuery.spec.js @@ -1631,8 +1631,9 @@ describe('Parse.Query testing', () => { }); expect(total).toBe(0); done() - }, () => { + }, (e) => { fail('should not fail'); + fail(JSON.stringify(e)); done(); }) }); diff --git a/spec/ParseRelation.spec.js b/spec/ParseRelation.spec.js index 6adbe384..2702d4c7 100644 --- a/spec/ParseRelation.spec.js +++ b/spec/ParseRelation.spec.js @@ -575,6 +575,9 @@ describe('Parse.Relation testing', () => { expect(result.get('key').get('even')).toBe(false); }); done(); + }, (e) => { + fail(JSON.stringify(e)); + done(); }) }); @@ -613,6 +616,9 @@ describe('Parse.Relation testing', () => { done(); } })); + }, (e) => { + fail(JSON.stringify(e)); + done(); }); }); @@ -653,6 +659,9 @@ describe('Parse.Relation testing', () => { done(); } })); + }, (e) => { + fail(JSON.stringify(e)); + done(); }); }); diff --git a/src/Controllers/SchemaController.js b/src/Controllers/SchemaController.js index 22c5fe2a..f8ef4d1d 100644 --- a/src/Controllers/SchemaController.js +++ b/src/Controllers/SchemaController.js @@ -334,25 +334,29 @@ export default class SchemaController { if (this.reloadDataPromise && !options.clearCache) { return this.reloadDataPromise; } - this.data = {}; - this.perms = {}; this.reloadDataPromise = promise.then(() => { return this.getAllClasses(options); }) .then(allSchemas => { + const data = {}; + const perms = {}; allSchemas.forEach(schema => { - this.data[schema.className] = injectDefaultSchema(schema).fields; - this.perms[schema.className] = schema.classLevelPermissions; + data[schema.className] = injectDefaultSchema(schema).fields; + perms[schema.className] = schema.classLevelPermissions; }); // Inject the in-memory classes volatileClasses.forEach(className => { const schema = injectDefaultSchema({ className }); - this.data[className] = schema.fields; - this.perms[className] = schema.classLevelPermissions; + data[className] = schema.fields; + perms[className] = schema.classLevelPermissions; }); + this.data = data; + this.perms = perms; delete this.reloadDataPromise; }, (err) => { + this.data = {}; + this.perms = {}; delete this.reloadDataPromise; throw err; });