Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-2879

Upgrade 1.6 to 1.8 changes shard member format requirements, cryptic error

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.9.1
    • 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

            Assignee:
            eliot Eliot Horowitz (Inactive)
            Reporter:
            jamespharaoh James Pharaoh
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: