-
Type: Bug
-
Resolution: Done
-
Priority: Major - P3
-
Affects Version/s: 1.8.0
-
Component/s: Replication, Sharding
-
None
-
ALL
When upgrading from 1.6.4 to 1.8.0, which is supposed to be a drop-in replacement, mongos isn't connecting to members correctly. Various errors are seen, both in the logs and in the command line client, pointing to line 231 in shard.cpp.
This turns out to be because the shards are set up in the config database without a name before the list of hosts in each replica set. I had to change this:
{ "_id" : "27019", "host" : "gold.private:27019,silver.private:27019" } { "_id" : "27020", "host" : "tin.private:27020,lead.private:27020" }to this:
{ "_id" : "27019", "host" : "27019/gold.private:27019,silver.private:27019" } { "_id" : "27020", "host" : "27020/tin.private:27020,lead.private:27020" }Firstly, the error message I got for this is extremely lacking. If there is something wrong with the string here then it should be pretty easy to tell the user that when the server starts up.
Secondly, why has the behaviour changed? It seems like the id could easily be used to name the shard in this case. Where has this new requirement come from? It seems a bit dubious, due to breaking the upgrade from 1.6 to 1.8 which is supposed to be "drop in".
Mailing list thread: http://groups.google.com/group/mongodb-user/browse_thread/thread/8a5562671b3b3bd9