- What's new
InboxReady x Salesforce: The Key to a Stronger Email Deliverability
This week we focused on backend improvements to make Mailgun more performant, reliable and scalable. Lots of boring stuff, but hopefully you’ll feel the difference.
One of the things that we did in particular was upgrade from MongoDB version 2.2 to 2.4.1. We’re big fans of MongoDB here at Mailgun. The bigger “Why MongoDB” post is long overdue but in the meantime, here’s a little color around the experience upgrading to the latest MongoDB version. We also upgraded to the latest version of pymongo: the MongoDB Python driver.
We highly recommend this version bump to anyone who’s using MongoDB in production. While you can see the complete list of what’s new in 2.4.1 on 10Gen web site, below is the list of features and improvements that we found particularly beneficial during evaluation on our staging environment:
New MongoClient and MongoReplicaSet classes. They introduce the new safe default: waiting for write acknowledgements.
Bug fixes that have happened after the introduction of 2.4.
Our infrastructure engineers performed the upgrade on a live high-stress system without any issues.
Well, by default the tests won’t pass. You’ll have to fix some import errors. For example, objectidmodule has moved from pymongo to bson package. Otherwise the upgrade is pretty safe because the new default behavior is only present in the new connection classes.
There is one serious caveat to be aware of: in this version 10Gen introduced the idea of Requests. The connection objects you get from pymongo are now bound to their calling thread by default. Our testing showed a performance degradation by a factor on 3! Your mileage may very, but either way, it’s a very serious change of default behavior, we wish 10Gen was more explicit about this.
You should not be using MongoDB without replica sets. This gives you the ability to not only be resilient to hardware failures, but it also makes it possible to perform database version upgrades on the fly. These are the steps we follow:
Obviously, make sure you have fresh backup of your data. We make backups by shutting down one of the slaves, compacting it’s database and sending the tar ball of the DB directory to Rackspace Cloud Files.
Upgrade one slave at a time, while monitoring the status of a replica set.
Finally, step down the master.
Upgrade the master.
All in all, very boring and uneventful procedure. Just like we like it when it comes to databases.
Till next week.
Happy Emailing, The Mailgunners
Learn about our Deliverability Services
Looking to send a high volume of emails? Our email experts can supercharge your email performance. See how we've helped companies like Lyft, Shopify, Github increase their email delivery rates to an average of 97%.
Last updated on May 04, 2021
InboxReady x Salesforce: The Key to a Stronger Email Deliverability
How To Improve Your Email Deliverability In 2022
Mailgun Joins Sinch: The Future of Customer Communications Is Here
Continuing Our Commitment: HTTPS Innovation And Optimization
Easier and Faster Implementation with Our Updated SDKs
Mailpets: For The Love Of Animals
The Mailgun Maverick Program Is Here!
Force for Change: It's Time to Speak Out
When Should You Use An Email API?
Mailgun’s COVID-19 Plan of Action
InboxReady x Salesforce: The Key to a Stronger Email Deliverability
Become an Email Pro With Our Templates API
Google Postmaster Tools: Understanding Sender Reputation
Navigating Your Career as a Woman in Tech
Implementing Dmarc – A Step-by-Step Guide
Email Bounces: What To Do About Them
Announcing InboxReady: The deliverability suite you need to hit the inbox
Black History Month in Tech: 7 Visionaries Who Shaped The Future
How To Create a Successful Triggered Email Program
Designing HTML Email Templates For Transactional Emails
InboxReady x Salesforce: The Key to a Stronger Email Deliverability
Implementing Dmarc – A Step-by-Step Guide
Announcing InboxReady: The deliverability suite you need to hit the inbox
Designing HTML Email Templates For Transactional Emails
Email Security Best Practices: How To Keep Your Email Program Safe
Mailgun’s Active Defense Against Log4j
Email Blasts: The Dos And Many Don’ts Of Mass Email Sending
Email's Best of 2021
5 Ideas For Better Developer-Designer Collaboration
Mailgun Joins Sinch: The Future of Customer Communications Is Here
Always be in the know and grab free email resources!
By sending this form, I agree that Mailgun may contact me and process my data in accordance with its Privacy Policy.