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

Get rid of the mongos periodic ping logic and replace it with a proper mongos discovery utility

    • Type: Icon: Improvement Improvement
    • Resolution: Won't Do
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
    • Sharding

      The balancer loop, which runs on each mongos (router) instance periodically writes a document with the following format to the config.mongos namespace:

      {
              "_id" : "kaloianmdesktop:20004",
              "ping" : ISODate("2016-04-06T17:45:53.838Z"),
              "up" : NumberLong(30),
              "waiting" : true,
              "mongoVersion" : "3.3.4-40-ga6f6b15"
      }
      

      This document is written regardless of whether the balancer is enabled or not and is currently used by Cloud Manager to do discovery of all mongos instances in a mongodb cluster and by the shell start/stopBalancer scripts.

      As part of the work to support parallel migrations we also plan to move the balancer to the config server primary, which will make the pinging logic unnecessary, because only the config server primary will be running it.

      This ticket is to decide what to do with the pinger. We have two options:

      1. Get rid of it completely and expose proper commands to list the currently connected mongos instances.
      2. Leave it on the mongos instances as is so that cluster discovery works as it does today.

      In both cases we will break the old shell start/stopBalancer scripts, because the ping time will never advance, so customers will have to upgrade their shell or start using the commands directly.

            Assignee:
            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            Reporter:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Votes:
            0 Vote for this issue
            Watchers:
            7 Start watching this issue

              Created:
              Updated:
              Resolved: