Skip to content

Commit ce54200

Browse files
HDDS-14345. Use ThreadLocalRandom in RandomPipelineChoosePolicy (#9583)
1 parent 0b8875b commit ce54200

1 file changed

Lines changed: 5 additions & 1 deletion

File tree

hadoop-hdds/server-scm/src/main/java/org/apache/hadoop/hdds/scm/pipeline/choose/algorithms/RandomPipelineChoosePolicy.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
package org.apache.hadoop.hdds.scm.pipeline.choose.algorithms;
1919

2020
import java.util.List;
21+
import java.util.concurrent.ThreadLocalRandom;
2122
import org.apache.hadoop.hdds.scm.PipelineChoosePolicy;
2223
import org.apache.hadoop.hdds.scm.PipelineRequestInformation;
2324
import org.apache.hadoop.hdds.scm.pipeline.Pipeline;
@@ -46,6 +47,9 @@ public Pipeline choosePipeline(List<Pipeline> pipelineList,
4647
@Override
4748
public int choosePipelineIndex(List<Pipeline> pipelineList,
4849
PipelineRequestInformation pri) {
49-
return (int) (Math.random() * pipelineList.size());
50+
if (pipelineList.isEmpty()) {
51+
return -1;
52+
}
53+
return ThreadLocalRandom.current().nextInt(pipelineList.size());
5054
}
5155
}

0 commit comments

Comments
 (0)