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]

Reply via email to