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

Make sure that at most one thread at a time in mongos is making calls to the shard replSets to update the health of the nodes

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Internal Code, Sharding
    • Labels:
    • Fully Compatible

      Currently, multiple threads trying to perform operations on a replica set can both trigger _check to be called, which sends isMaster and replSetGetStatus calls to the replica set to update which nodes are currently healthy. This can cause many more commands to be sent to the replSet members than is necessary as those multiple threads are performing redundant work. We should make sure that at any one time there is only one thread actively updating mongos' knowledge of the health of a replica set.

      One way to accomplish this would be to make one system thread responsible for all the monitoring of the health of the set, as described in SERVER-5392, though other approaches may be possible.

            Assignee:
            mathias@mongodb.com Mathias Stearn
            Reporter:
            spencer@mongodb.com Spencer Brody (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: