I need to preform a rolling upgrade on my MongoDB. I've been all over the Mongo documentation and I can't find a solution to my problem (if there is one) Here's a simple sketch of the Architecture:


I have two Sites (A and B) (telecommunications site, not website). When I'm executing a rolling upgrade in one site I need to upgrade everything associated to it.

I place my site B in contingency (there are no requests from outside arriving to that Site) and I start upgrading everything, but when I get to the config server I find a problem.

Config servers are always in sync, and this can't happen because all communication with the outside must be terminated.

Is there a way to isolate the config server on that site? (I know they're replicated) I hope you guys understand my question, is basically how to preform a config server rolling upgrade in multi-host environment without completely stopping all 3 config servers (stopping both sites is not a valid solution)

Will upgrading my config server will have any impact in my service? (in the other site)

Can I shut down 1 config server, upgrade and restart it?



1 Answer 1


Yes, you can simply stop one config server, upgrade and restart it. That is one of the reasons why there are three: even when taking down one, there are two others to read from, so one might fail.

A few things to keep in mind, though:

  • When one config server is down, the cluster meta data is read only: no chunk splits or migrations during that time. So in order to prevent JumboChunks, you better hurry a bit.
  • Talking of JumboChunks: you should check your cluster for them after update
  • As for the order: Start with the last server in your configdb string, finish with the first
  • Always, Always, ALWAYS read the migration guide of the version you are updating to

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.