siddhantsangwan opened a new pull request, #3895: URL: https://github.com/apache/ozone/pull/3895
## What changes were proposed in this pull request? Currently, we stop an iteration of balancer if we are one datanode or 5GB away from the limits "datanodes.involved.max.percentage.per.iteration" and "size.moved.max.per.iteration" respectively. This is a pre-emptive check. This PR changes this by trying to dynamically adapt to these limits if possible instead of breaking out of the loop right away. If we're nearing the limits - that is, we're one DN away - then we restrict potential source datanodes to the ones that have already been selected. If we've reached the limits, then we restrict potential sources and targets both to datanodes that have already been selected. The iteration can continue because we aren't involving any new datanodes (Changes made in `ContainerBalancerTask`, `FindSourceStrategy` and `FindTargetStrategy`). We adapt to the max size to move limit by filtering out candidate containers according to size (changes made in `ContainerBalancerSelectionCriteria`). ## What is the link to the Apache JIRA https://issues.apache.org/jira/browse/HDDS-5526 ## How was this patch tested? Existing tests -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
