HDFS-12269. Better to return a Map rather than HashMap in getErasureCodingCodecs. Contributed by Huafeng Wang.
Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/08aaa4b3 Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/08aaa4b3 Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/08aaa4b3 Branch: refs/heads/HDFS-7240 Commit: 08aaa4b36fab44c3f47878b3c487db3b373ffccf Parents: ab051bd Author: Akira Ajisaka <aajis...@apache.org> Authored: Thu Aug 17 13:20:27 2017 +0900 Committer: Akira Ajisaka <aajis...@apache.org> Committed: Thu Aug 17 13:20:27 2017 +0900 ---------------------------------------------------------------------- .../java/org/apache/hadoop/io/erasurecode/CodecRegistry.java | 2 +- .../src/main/java/org/apache/hadoop/hdfs/DFSClient.java | 2 +- .../main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java | 3 +-- .../java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java | 4 ++-- .../hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java | 5 +++-- .../ClientNamenodeProtocolServerSideTranslatorPB.java | 3 +-- .../hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java | 4 ++-- .../org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java | 4 ++-- .../apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java | 4 ++-- .../src/main/java/org/apache/hadoop/hdfs/tools/ECAdmin.java | 3 +-- .../java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java | 4 ++-- 11 files changed, 18 insertions(+), 20 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecRegistry.java ---------------------------------------------------------------------- diff --git a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecRegistry.java b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecRegistry.java index fcf1349..daf91e2 100644 --- a/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecRegistry.java +++ b/hadoop-common-project/hadoop-common/src/main/java/org/apache/hadoop/io/erasurecode/CodecRegistry.java @@ -176,7 +176,7 @@ public final class CodecRegistry { * @return a map of all codec names, and their corresponding code list * separated by ','. */ - public HashMap<String, String> getCodec2CoderCompactMap() { + public Map<String, String> getCodec2CoderCompactMap() { return coderNameCompactMap; } } http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java index 88b273a..969522d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DFSClient.java @@ -2764,7 +2764,7 @@ public class DFSClient implements java.io.Closeable, RemotePeerFactory, } } - public HashMap<String, String> getErasureCodingCodecs() throws IOException { + public Map<String, String> getErasureCodingCodecs() throws IOException { checkOpen(); try (TraceScope ignored = tracer.newScope("getErasureCodingCodecs")) { return namenode.getErasureCodingCodecs(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java index cd368d4..8f82d03 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/DistributedFileSystem.java @@ -26,7 +26,6 @@ import java.util.ArrayList; import java.util.Arrays; import java.util.Collection; import java.util.EnumSet; -import java.util.HashMap; import java.util.List; import java.util.Map; @@ -2585,7 +2584,7 @@ public class DistributedFileSystem extends FileSystem { * @return all erasure coding codecs and coders supported by this file system. * @throws IOException */ - public HashMap<String, String> getAllErasureCodingCodecs() + public Map<String, String> getAllErasureCodingCodecs() throws IOException { return dfs.getErasureCodingCodecs(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java index 45c6b32..eb9380d 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocol/ClientProtocol.java @@ -19,8 +19,8 @@ package org.apache.hadoop.hdfs.protocol; import java.io.IOException; import java.util.EnumSet; -import java.util.HashMap; import java.util.List; +import java.util.Map; import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; @@ -1601,7 +1601,7 @@ public interface ClientProtocol { * @throws IOException */ @Idempotent - HashMap<String, String> getErasureCodingCodecs() throws IOException; + Map<String, String> getErasureCodingCodecs() throws IOException; /** * Get the information about the EC policy for the path. http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java index aed4117..ac06c1a 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolTranslatorPB.java @@ -26,6 +26,7 @@ import java.util.List; import com.google.common.collect.Lists; +import java.util.Map; import java.util.concurrent.TimeUnit; import java.util.stream.Collectors; @@ -1760,11 +1761,11 @@ public class ClientNamenodeProtocolTranslatorPB implements } @Override - public HashMap<String, String> getErasureCodingCodecs() throws IOException { + public Map<String, String> getErasureCodingCodecs() throws IOException { try { GetErasureCodingCodecsResponseProto response = rpcProxy .getErasureCodingCodecs(null, VOID_GET_EC_CODEC_REQUEST); - HashMap<String, String> ecCodecs = new HashMap<String, String>(); + Map<String, String> ecCodecs = new HashMap<>(); for (CodecProto codec : response.getCodecList()) { ecCodecs.put(codec.getCodec(), codec.getCoders()); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java index 38b81c6..a446276 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/protocolPB/ClientNamenodeProtocolServerSideTranslatorPB.java @@ -21,7 +21,6 @@ import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; import java.util.EnumSet; -import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.stream.Collectors; @@ -1664,7 +1663,7 @@ public class ClientNamenodeProtocolServerSideTranslatorPB implements RpcController controller, GetErasureCodingCodecsRequestProto request) throws ServiceException { try { - HashMap<String, String> codecs = server.getErasureCodingCodecs(); + Map<String, String> codecs = server.getErasureCodingCodecs(); GetErasureCodingCodecsResponseProto.Builder resBuilder = GetErasureCodingCodecsResponseProto.newBuilder(); for (Map.Entry<String, String> codec : codecs.entrySet()) { http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java index 486503c..7895433 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSDirErasureCodingOp.java @@ -25,8 +25,8 @@ import java.io.FileNotFoundException; import java.io.IOException; import java.util.Arrays; import java.util.EnumSet; -import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.stream.Collectors; import com.google.common.base.Preconditions; @@ -344,7 +344,7 @@ final class FSDirErasureCodingOp { * @param fsn namespace * @return {@link java.util.HashMap} array */ - static HashMap<String, String> getErasureCodingCodecs(final FSNamesystem fsn) + static Map<String, String> getErasureCodingCodecs(final FSNamesystem fsn) throws IOException { assert fsn.hasReadLock(); return CodecRegistry.getInstance().getCodec2CoderCompactMap(); http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java index 1cfaa54..2313335 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/FSNamesystem.java @@ -7255,14 +7255,14 @@ public class FSNamesystem implements Namesystem, FSNamesystemMBean, /** * Get available erasure coding codecs and corresponding coders. */ - HashMap<String, String> getErasureCodingCodecs() throws IOException { + Map<String, String> getErasureCodingCodecs() throws IOException { final String operationName = "getErasureCodingCodecs"; boolean success = false; checkOperation(OperationCategory.READ); readLock(); try { checkOperation(OperationCategory.READ); - final HashMap<String, String> ret = + final Map<String, String> ret = FSDirErasureCodingOp.getErasureCodingCodecs(this); success = true; return ret; http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java index d304d3d..7871202 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/server/namenode/NameNodeRpcServer.java @@ -37,9 +37,9 @@ import java.net.InetSocketAddress; import java.util.Arrays; import java.util.Collection; import java.util.EnumSet; -import java.util.HashMap; import java.util.HashSet; import java.util.List; +import java.util.Map; import java.util.Set; import java.util.concurrent.Callable; @@ -2278,7 +2278,7 @@ public class NameNodeRpcServer implements NamenodeProtocols { } @Override // ClientProtocol - public HashMap<String, String> getErasureCodingCodecs() throws IOException { + public Map<String, String> getErasureCodingCodecs() throws IOException { checkNNStartup(); return namesystem.getErasureCodingCodecs(); } http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/ECAdmin.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/ECAdmin.java b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/ECAdmin.java index 46600a0..17a84f9 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/ECAdmin.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/main/java/org/apache/hadoop/hdfs/tools/ECAdmin.java @@ -33,7 +33,6 @@ import org.apache.hadoop.util.ToolRunner; import java.io.IOException; import java.util.Arrays; import java.util.Collection; -import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; @@ -441,7 +440,7 @@ public class ECAdmin extends Configured implements Tool { final DistributedFileSystem dfs = AdminHelper.getDFS(conf); try { - HashMap<String, String> codecs = + Map<String, String> codecs = dfs.getAllErasureCodingCodecs(); if (codecs.isEmpty()) { System.out.println("No erasure coding codecs are supported on the " + http://git-wip-us.apache.org/repos/asf/hadoop/blob/08aaa4b3/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java index 06edb1a..22e118f 100644 --- a/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java +++ b/hadoop-hdfs-project/hadoop-hdfs/src/test/java/org/apache/hadoop/hdfs/TestErasureCodingPolicies.java @@ -50,8 +50,8 @@ import java.io.IOException; import java.security.PrivilegedExceptionAction; import java.util.Collection; import java.util.EnumSet; -import java.util.HashMap; import java.util.List; +import java.util.Map; import static org.apache.hadoop.test.GenericTestUtils.assertExceptionContains; import static org.junit.Assert.*; @@ -647,7 +647,7 @@ public class TestErasureCodingPolicies { @Test public void testGetAllErasureCodingCodecs() throws Exception { - HashMap<String, String> allECCodecs = fs + Map<String, String> allECCodecs = fs .getAllErasureCodingCodecs(); assertTrue("At least 3 system codecs should be enabled", allECCodecs.size() >= 3); --------------------------------------------------------------------- To unsubscribe, e-mail: common-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: common-commits-h...@hadoop.apache.org