Re-balancing scans all chunks consitinously, unless it is turned off by the configuration. When it finds chunks with placement problems, and determines that it is possible to fix them given the current state of the system, it schedulers chunks
re-relocation. Placement problem correction have higher precedence than io and space re-balancing.
If the system is not configured with enough chunk servers or racks (failure groups) it might not be theoretically possible to correct placement problems. It is possible that that some corner cases exist where re-balancing does not correct the
problem, though with sufficient number of racks and servers it worked reasonably well, at least in the past.
Offline layout emulator can be used for re-balancing verification, testing, and debugging.
Force re-replication command is intended for debugging and verification, it is not intended for system maintenance.
Given that force re-replication command fixed chunk placement problem, I’d suggest to check whether or not re-balancing is enabled, and the system was running for sufficiently long period of time to allow [low cpu priority] re-balance scan detect
placement problem.
— Mike.