HBASE-25838 Use double instead of Double in StochasticLoadBalancer (#3221)

Signed-off-by: Yulin Niu <niuyulin@apache.org>
This commit is contained in:
Duo Zhang 2021-05-04 09:04:47 +08:00
parent a7814bbe57
commit 08507b86a8
1 changed files with 11 additions and 9 deletions

View File

@ -145,9 +145,9 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
private List<CostFunction> costFunctions; // FindBugs: Wants this protected; IS2_INCONSISTENT_SYNC
// to save and report costs to JMX
private Double curOverallCost = 0d;
private Double[] tempFunctionCosts;
private Double[] curFunctionCosts;
private double curOverallCost = 0d;
private double[] tempFunctionCosts;
private double[] curFunctionCosts;
// Keep locality based picker and cost function to alert them
// when new services are offered
@ -222,8 +222,8 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
addCostFunction(regionLoadFunctions[3]);
loadCustomCostFunctions(conf);
curFunctionCosts = new Double[costFunctions.size()];
tempFunctionCosts = new Double[costFunctions.size()];
curFunctionCosts = new double[costFunctions.size()];
tempFunctionCosts = new double[costFunctions.size()];
boolean isBalancerDecisionRecording = getConf()
.getBoolean(BaseLoadBalancer.BALANCER_DECISION_BUFFER_ENABLED,
@ -523,8 +523,10 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
/**
* update costs to JMX
*/
private void updateStochasticCosts(TableName tableName, Double overall, Double[] subCosts) {
if (tableName == null) return;
private void updateStochasticCosts(TableName tableName, double overall, double[] subCosts) {
if (tableName == null) {
return;
}
// check if the metricsBalancer is MetricsStochasticBalancer before casting
if (metricsBalancer instanceof MetricsStochasticBalancer) {
@ -537,7 +539,7 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
for (int i = 0; i < costFunctions.size(); i++) {
CostFunction costFunction = costFunctions.get(i);
String costFunctionName = costFunction.getClass().getSimpleName();
Double costPercent = (overall == 0) ? 0 : (subCosts[i] / overall);
double costPercent = (overall == 0) ? 0 : (subCosts[i] / overall);
// TODO: cost function may need a specific description
balancer.updateStochasticCost(tableName.getNameAsString(), costFunctionName,
"The percent of " + costFunctionName, costPercent);
@ -686,7 +688,7 @@ public class StochasticLoadBalancer extends BaseLoadBalancer {
}
Float multiplier = c.getMultiplier();
Double cost = c.cost();
double cost = c.cost();
this.tempFunctionCosts[i] = multiplier*cost;
total += this.tempFunctionCosts[i];