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

balancer aggressively retries when inconsistency is detected

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 2.4.10, 2.6.0-rc1
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • ALL

      Issue Status as of March 28, 2014

      ISSUE SUMMARY
      MongoDB contains logic to automatically detect inconsistencies between config servers. If an inconsistency is detected during a balancer round, the usual sleep time is skipped and the balancer immediately retries. This leads to fast balancer retries which always fail.

      USER IMPACT
      Apart from frequent queries on the config database and potentially high volume of logging messages, there is no serious impact of this bug.

      SOLUTION
      The balancer now honors the sleep time even if it detects a config server inconsistency.

      WORKAROUNDS
      None

      AFFECTED VERSIONS
      Versions 2.4.6 to 2.4.9 are affected by this bug. Before 2.4.6, the balancer did not check for config server inconsistency.

      PATCHES
      The fix is included in the 2.4.10 production release and the 2.6.0-rc1 release candidate, which will evolve into the 2.6.0 production release.

      Original Description

      Non-regression, but pretty annoying.

      Basically if isConfigServerConsistent() is ever false in the balancer loop, we'll immediately retry instead of sleeping the normal "sleepTime". This leads to fast balancer retries which always fail.

            Assignee:
            greg_10gen Greg Studer
            Reporter:
            greg_10gen Greg Studer
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: