Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We're running a MongoDB cluster up on EC2 and are experiencing the following error over and over again in our log files:

 Assertion: 10429:setShardVersion failed! { "errmsg" : "exception: gotShardHost different than what i had before  before

followed by info about all the existing shards and hosts. This problem happened after we tried connecting to the cluster from one of our staging machines using a newer version of the MongoDB client (1.8.2) while our existing server plus other clients are using 1.6.5. Call me crazy, but I would think that MongoDB should be able to recover from what appears to be a very simple mistake instead of crapping the bed like this. We are using the PHP drivers via Doctrine2.

Searching on the web, the only advice I see is "make sure you are running the same version of server and client" and we are indeed doing that. We've been trying to fix this going on 12 hours and nothing we have done is making a difference. Having parts of our web applications not working because of Mongo not responding without throwing this error is making some people anxious. ;))

Any suggestions on how recover from this would be greatly appreciated.

share|improve this question

The only thing that I can find is this thread on the MongoDB Users Google Group (and shameless site scrapes thereof.)

It looks like you should

  1. Verify that all clients and servers are indeed running the same version.
  2. Restart the mongod on the shard(s) that are having this error.

If this doesn't work, it may be worthwhile to post to the group yourself for assistance or contact 10gen.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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