Skip to content

Commit 20d7273

Browse files
committed
HBASE-25662 Fix spotbugs warning in RoundRobinTableInputFormat
1 parent 876fec1 commit 20d7273

File tree

1 file changed

+11
-11
lines changed

1 file changed

+11
-11
lines changed

hbase-mapreduce/src/main/java/org/apache/hadoop/hbase/mapreduce/RoundRobinTableInputFormat.java

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,11 +19,12 @@
1919

2020
import java.io.IOException;
2121
import java.util.ArrayList;
22+
import java.util.HashMap;
2223
import java.util.Iterator;
2324
import java.util.LinkedList;
24-
import java.util.Map;
25-
import java.util.HashMap;
2625
import java.util.List;
26+
import java.util.Map;
27+
import org.apache.commons.lang3.StringUtils;
2728
import org.apache.hadoop.conf.Configuration;
2829
import org.apache.hadoop.hbase.HBaseConfiguration;
2930
import org.apache.hadoop.hbase.HConstants;
@@ -88,11 +89,11 @@ List<InputSplit> roundRobin(List<InputSplit> inputs) throws IOException {
8889
List<InputSplit> result = new ArrayList<>(inputs.size());
8990
// Prepare a hashmap with each region server as key and list of Input Splits as value
9091
Map<String, List<InputSplit>> regionServerSplits = new HashMap<>();
91-
for (InputSplit is: inputs) {
92+
for (InputSplit is : inputs) {
9293
if (is instanceof TableSplit) {
93-
String regionServer = ((TableSplit)is).getRegionLocation();
94-
if (regionServer != null && !regionServer.isEmpty()) {
95-
regionServerSplits.computeIfAbsent(regionServer, k -> new LinkedList<>()).add(is);
94+
String regionServer = ((TableSplit) is).getRegionLocation();
95+
if (regionServer != null && !StringUtils.isBlank(regionServer)) {
96+
regionServerSplits.computeIfAbsent(regionServer, k -> new ArrayList<>()).add(is);
9697
continue;
9798
}
9899
}
@@ -101,15 +102,14 @@ List<InputSplit> roundRobin(List<InputSplit> inputs) throws IOException {
101102
}
102103
// Write out splits in a manner that spreads splits for a RegionServer to avoid 'clumping'.
103104
while (!regionServerSplits.isEmpty()) {
104-
Iterator<String> iterator = regionServerSplits.keySet().iterator();
105-
while (iterator.hasNext()) {
106-
String regionServer = iterator.next();
107-
List<InputSplit> inputSplitListForRegion = regionServerSplits.get(regionServer);
105+
Iterator<List<InputSplit>> iter = regionServerSplits.values().iterator();
106+
while (iter.hasNext()) {
107+
List<InputSplit> inputSplitListForRegion = iter.next();
108108
if (!inputSplitListForRegion.isEmpty()) {
109109
result.add(inputSplitListForRegion.remove(0));
110110
}
111111
if (inputSplitListForRegion.isEmpty()) {
112-
iterator.remove();
112+
iter.remove();
113113
}
114114
}
115115
}

0 commit comments

Comments
 (0)