3

I am having a problem scaling a sails application, once I get to around 4k entries in a collection, a GET on that collection will cause the database to crash. I am currently using a Mongo database, and the sails-mongo-adaptor. What is printed in the console is:

/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/buffer.js:49
self.store.push({
          ^
RangeError: Maximum call stack size exceeded
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/buffer.js:49:15
at Array.forEach (native)
at Buffer.add (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/buffer.js:48:10)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:67:19
at iterate (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:146:13)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:157:25
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:68:11
at iterate (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:146:13)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:157:25
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:68:11
at iterate (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:146:13)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:157:25
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:68:11
at iterate (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:146:13)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:157:25
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:68:11
at iterate (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:146:13)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:157:25
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:68:11
at iterate (/Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:146:13)
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/node_modules/async/lib/async.js:157:25
at /Users/eadams/Documents/Activ8or/a8/server/node_modules/sails-mongo/node_modules/waterline-cursor/cursor/populateBuffers.js:68:11

I have seen this problem documented in other places, and the only suggested solution that seemed to apply was nullifying the toJSON method in all of the models (I can't find this solution now or else I would reference it), however this did not solve my problem.

Any ideas what could be causing this crash?

edit: found the resource describing similar problem: https://github.com/balderdashy/waterline-cursor/issues/2

  • I've run into this, too, and the only solution I've really found seems to be not query the entire collection... which isn't very helpful, in some cases. –  May 26 '16 at 08:38

0 Answers0