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

Reduce the number of forced metadata refreshes in the balancer code paths

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Won't Do
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Sharding
    • None
    • Sharding

    Description

      We are forcing refresh for every chunk that the balancer tries to balance. This can be quite excessive. For example, the balancer decides to balance 10 chunks from the same collection in a single balancing round. It serially schedules each move, and then waits for all the responses – it will redundantly force refresh 10 times in a row on the same collection, once every time a chunk is scheduled. Scheduling rounds occur every 10 seconds.

      Perhaps we could minimize refresh to once per collection we're trying to balance.

      There are also several other places in the balancer code that we force refresh. They should all be audited and we should see if they can be minimized.

      The mongos and shard servers are more reactive to changes, invalidating and refreshing as needed. The config server is rather more spurious, in general. Maybe we should reconsider making it more reactive, only invalidating it when a chunk metadata change occurs, rather than forcing refreshes wherever freshness is a concern.

      Attachments

        Activity

          People

            backlog-server-sharding [DO NOT USE] Backlog - Sharding Team
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: