Update Meteor and Mlab Mongo. Best Way?

Sorry for the newbie question, but my fear for updating my Mlab Mongo Database from mongod version: 3.0.12 (MMAPv1 Engine) to latest mongodb 3.6 (WiredTiger Engine) is still holding me from make the leap to latest Meteor 1.6 and 1.7 versions.

This is a running application and I can’t afford to loose data in the process nor hold users from connecting to it for much long.

What are the steps and best practices? For local development it is just a question of reseting the database. I can’t do this on the production app. I know this may sound stupid, but updating meteor on Galaxy would NOT automatically update mongodb version on Mlab, right? What are the manual steps I should follow?

If you’re using Mlab, they have instructions on how to go through the MongoDB upgrade. I did it a short while ago (on Mlab) and it went fine, but you’ll have to do the upgrade in steps, they don’t support directly upgrading from 3.0 to 3.6. They have an auto-upgrade option in the admin UI, but make sure you read the instructions and upgrade requirements first, and make you backup the data as well in case there’s any problem.

Also note that Mlab only supports the WiredTiger engine on some of the more expensive plans, so being able to use that depends on your plan.

Thanks, I’d got a good reading of Mlab’s documetation already. By I am still concerned about what was not mentioned there,

For instance. What I should I do first?

  1. Upgrade Meteor App on Galaxy to, THEN
  2. Upgrade Mlab Mongo3.0 to mongo3.2, 3.4, etc?

Would that just works? Would the App in Galaxy just recognizes the changed db in Mlab and keep it running?

Or is it the other way around?

Could not find Mlab mentioning any extra pricing on WiredTiger. Are they charging extra?

I’m not sure how exactly the Meteor handles the MongoDB connection and how the version affects it all, but updating Meteor first will result in trouble (see notes about MongoDB in the changelog).

Update your database first, backing up and making sure each upgrade is fine at each step, and then upgrade Meteor. I guess ideally, if you have a staging environment, you could try the whole procedure there first before trying it with your production database.

1 Like