Reputation: 21
When I NewRelic= require('newrelic');
and execute
var NewRelic= require('newrelic'),
mongo_native = require('mongodb'),
Express= require('express'),
http= require('http');
GridStore = mongo_native.GridStore;
process.on('uncaughtException', function(err) {
console.log('Uncaught Exception', err);
});
mongo_native.connect(mongoLabUri, {}, function(err, db){
var app= Express();
var server= http.createServer(app).listen(5009, function(err){
console.log('listening on 6000, err:',err);
app.get('/', function(){
console.log('received request to /');
var gs = new GridStore(db, 'RandomFileName'+Math.random(), "w" );
console.log('initalized gridstore');
gs.open(function(err, gs) {
console.log('gridstore opened successfully')
});
});
});
});
Output:
listening on 6000, err: undefined
received request to /
initalized gridstore
Uncaught Exception { [TypeError: Cannot read property 'collectionName' of undefined]
domain:
{ domain: null,
_events: { error: undefined },
_maxListeners: 10,
members: [] },
domainThrown: true }
node v0.10.x Latest express, new relic, mongo
Same thing happens on nodejitsu, heroku node deploys
If I take out New Relic, everything works fine. Can anyone at help me out?
Stack trace:
TypeError: Cannot read property \'collectionName\' of undefined\n at /Users/vlad/Development/nodejitsu/zooplr/node_modules/newrelic/lib/instrumentation/mongodb.js:51:45\n at b (domain.js:183:18)\n at /Users/vlad/Development/nodejitsu/zooplr/node_modules/newrelic/node_modules/continuation-local-storage/context.js:57:17\n at /Users/vlad/Development/nodejitsu/zooplr/node_modules/newrelic/lib/transaction/tracer.js:239:22\n at ErrorTracer.monitor (/Users/vlad/Development/nodejitsu/zooplr/node_modules/newrelic/lib/error.js:188:12)\n at Tracer.monitor (/Users/vlad/Development/nodejitsu/zooplr/node_modules/newrelic/lib/transaction/tracer.js:237:28)\n at wrapCallbackInvocation (/Users/vlad/Development/nodejitsu/zooplr/node_modules/newrelic/lib/transaction/tracer.js:179:17)\n at /Users/vlad/Development/nodejitsu/zooplr/node_modules/mongodb/lib/mongodb/cursor.js:738:35\n at Cursor.close (/Users/vlad/Development/nodejitsu/zooplr/node_modules/mongodb/lib/mongodb/cursor.js:959:5)\n at Cursor.nextObject (/Users/vlad/Development/nodejitsu/zooplr/node_modules/mongodb/lib/mongodb/cursor.js:738:17)',
Upvotes: 2
Views: 520
Reputation: 166
This is a bug in New Relic for Node.js that was introduced by the advent of version 1.3.20 of the MongoDB driver. There is also a ticket open on the module for this. We have a solution under testing within New Relic, and a new version of the module that addresses this should be published to npm in the near term.
Upvotes: 2