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.