Sreeja created HDDS-16181:
-----------------------------

             Summary: Add container balancer recommend CLI command to suggest 
config values for slow/medium/fast profiles
                 Key: HDDS-16181
                 URL: https://issues.apache.org/jira/browse/HDDS-16181
             Project: Apache Ozone
          Issue Type: Sub-task
            Reporter: Sreeja
            Assignee: Sreeja


Add ozone admin containerbalancer recommend command which fetches datanode 
usage info  via the existing getDatanodeUsageInfo RPC. It should use the 
cluster summary computed by the analyzer(HDDS-16173) to make the recommendation.
The command should show the recommended values for each config for each profile 
i.e slow , medium and fast. Each recommended values should be validated first.
It should also show the estimates for each profile by re-using the estimate 
computation logic fromHDDS-16179

To compute the recommended value for maxDatanodesPercentageToInvolvePerIteration

{code:java}
participatingNodes = max(2, 2 × max(sourceCount, targetCount))
rawPercentage = ceil(participatingNodes × 100.0 / totalEligibleDatanodes)
finalPercentage = min(rawPercentage, profile.cap)
{code}

Should also validate that : 
allowedNodes = (int)(finalPercentage / 100.0 × totalEligibleDatanodes)

If allowedNodes < participatingNodes → bump percentage to make allowedNodes >= 
participatingNodes

Else if allowedNodes < 2 → bump until allowedNodes >= 2

To compute the recommended value for maxSizeEnteringTarget, 
maxSizeLeavingSource:

{code:java}
maxSizeEnteringTarget = min(profileDefaultEntering, maxSizeToMovePerIteration)
maxSizeLeavingSource = min(profileDefaultLeaving, maxSizeToMovePerIteration)
{code}
 


To compute the recommended value for maxSizeToMovePerIteration : re-use the 
formula from HDDS-16179



For threshold , balancing interval and timeouts we can provide the default 
config values itself.

 

The command should allow the user to provide include/exclude datanodes



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to