HDFS-14105. Replace TreeSet in NamenodeFsck with HashSet. Contributed by Beluga Behr.

This commit is contained in:
Giovanni Matteo Fumarola 2018-11-30 11:07:11 -08:00
parent b09cfad432
commit 99e201dfe2
1 changed files with 6 additions and 6 deletions

View File

@ -30,10 +30,11 @@ import java.util.Arrays;
import java.util.Collection;
import java.util.Date;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.TreeSet;
import java.util.Set;
import java.util.concurrent.ThreadLocalRandom;
import org.apache.commons.io.IOUtils;
@ -1024,7 +1025,7 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
OutputStream fos) throws Exception {
int failures = 0;
InetSocketAddress targetAddr = null;
TreeSet<DatanodeInfo> deadNodes = new TreeSet<DatanodeInfo>();
Set<DatanodeInfo> deadNodes = new HashSet<DatanodeInfo>();
BlockReader blockReader = null;
ExtendedBlock block = lblock.getBlock();
@ -1132,9 +1133,8 @@ public class NamenodeFsck implements DataEncryptionKeyFactory {
* That's the local one, if available.
*/
private DatanodeInfo bestNode(DFSClient dfs, DatanodeInfo[] nodes,
TreeSet<DatanodeInfo> deadNodes) throws IOException {
if ((nodes == null) ||
(nodes.length - deadNodes.size() < 1)) {
Set<DatanodeInfo> deadNodes) throws IOException {
if ((nodes == null) || (nodes.length - deadNodes.size() < 1)) {
throw new IOException("No live nodes contain current block");
}
DatanodeInfo chosenNode;