Skip to content

whole server goes down with an exception when a connection to mongo is lost #7

Description

@svasva

Can be reproduced in those steps:

  1. create an empty derby app.
  2. replace default memory store with racer-db-mongo store:
store = derby.createStore
  listen: server
  db: {type: 'Mongo', uri: 'mongodb://localhost/database', safe: true}
  1. launch node server.js & open it in browser
  2. now terminate the mongo process
  3. refresh the browser window - server is dead now with an exception like this:
a87d725f-5012-4ad5-84b6-f26b089c3e35  ver: 1 - set 'rooms.5q979f.visits', 1
a87d725f-5012-4ad5-84b6-f26b089c3e35  "txnErr": [ [Error: no open connections],
  'a87d725f-5012-4ad5-84b6-f26b089c3e35.75' ]

/Users/erundook/Sites/dtest/node_modules/derby/node_modules/racer/lib/txns/txns.Model.js:319
          return txn.callback(err, txn);
                     ^
TypeError: Property 'callback' of object 5,84ad09d3-dfb8-4508-9a70-31ab5b47885d.1,set,rooms.5q979f.welcome,Welcome to 5q979f! is not a function
    at Object.module.exports.server._commit.res.fail (/Users/erundook/Sites/dtest/node_modules/derby/node_modules/racer/lib/txns/txns.Model.js:319:22)
    at module.exports.events.middleware.txn (/Users/erundook/Sites/dtest/node_modules/derby/node_modules/racer/lib/txns/txns.Store.js:109:24)
    at Store._sendToDb.lockingDone (/Users/erundook/Sites/dtest/node_modules/derby/node_modules/racer/lib/Store.js:282:12)
    at findAndModifyCb (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/lib/index.js:195:23)
    at Collection.findAndModify (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/collection.js:664:30)
    at Db._executeQueryCommand (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/db.js:1759:5)
    at Collection.findAndModify (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/collection.js:663:13)
    at exports.bindSkin.obj.(anonymous function) [as findAndModify] (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/node_modules/mongoskin/lib/mongoskin/utils.js:61:14)
    at DbMongo.findAndModify (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/lib/index.js:97:22)
    at setCb (/Users/erundook/Sites/dtest/node_modules/racer-db-mongo/lib/index.js:234:13)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions