Repository: hadoop Updated Branches: refs/heads/branch-2 a82ea9275 -> 1285035c6
HADOOP-10568. Reuse ObjectMapper instance in CombinedHostsFileReader and CombinedHostsFileWriter. Contributed by Yiqun Lin. (cherry picked from commit 991c946593454b73b56f3c403fe128afe6f46355) Project: http://git-wip-us.apache.org/repos/asf/hadoop/repo Commit: http://git-wip-us.apache.org/repos/asf/hadoop/commit/1285035c Tree: http://git-wip-us.apache.org/repos/asf/hadoop/tree/1285035c Diff: http://git-wip-us.apache.org/repos/asf/hadoop/diff/1285035c Branch: refs/heads/branch-2 Commit: 1285035c67d7f4102268fea17383a338bc78a573 Parents: a82ea92 Author: Akira Ajisaka <[email protected]> Authored: Wed Jun 29 10:10:19 2016 -0700 Committer: Akira Ajisaka <[email protected]> Committed: Wed Jun 29 10:10:56 2016 -0700 ---------------------------------------------------------------------- .../apache/hadoop/hdfs/util/CombinedHostsFileReader.java | 11 ++++++----- .../apache/hadoop/hdfs/util/CombinedHostsFileWriter.java | 4 ++-- 2 files changed, 8 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/hadoop/blob/1285035c/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileReader.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileReader.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileReader.java index 33acb91..9b23ad0 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileReader.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileReader.java @@ -22,7 +22,6 @@ import java.io.FileInputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; - import java.util.Iterator; import java.util.Set; import java.util.HashSet; @@ -31,7 +30,7 @@ import org.apache.hadoop.classification.InterfaceAudience; import org.apache.hadoop.classification.InterfaceStability; import org.codehaus.jackson.JsonFactory; import org.codehaus.jackson.map.ObjectMapper; - +import org.codehaus.jackson.map.ObjectReader; import org.apache.hadoop.hdfs.protocol.DatanodeAdminProperties; /** @@ -48,6 +47,10 @@ import org.apache.hadoop.hdfs.protocol.DatanodeAdminProperties; @InterfaceAudience.LimitedPrivate({"HDFS"}) @InterfaceStability.Unstable public final class CombinedHostsFileReader { + private static final ObjectReader READER = + new ObjectMapper().reader(DatanodeAdminProperties.class); + private static final JsonFactory JSON_FACTORY = new JsonFactory(); + private CombinedHostsFileReader() { } @@ -60,12 +63,10 @@ public final class CombinedHostsFileReader { public static Set<DatanodeAdminProperties> readFile(final String hostsFile) throws IOException { HashSet<DatanodeAdminProperties> allDNs = new HashSet<>(); - ObjectMapper mapper = new ObjectMapper(); try (Reader input = new InputStreamReader(new FileInputStream(hostsFile), "UTF-8")) { Iterator<DatanodeAdminProperties> iterator = - mapper.readValues(new JsonFactory().createJsonParser(input), - DatanodeAdminProperties.class); + READER.readValues(JSON_FACTORY.createJsonParser(input)); while (iterator.hasNext()) { DatanodeAdminProperties properties = iterator.next(); allDNs.add(properties); http://git-wip-us.apache.org/repos/asf/hadoop/blob/1285035c/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileWriter.java ---------------------------------------------------------------------- diff --git a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileWriter.java b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileWriter.java index ea70be2..7a50d63 100644 --- a/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileWriter.java +++ b/hadoop-hdfs-project/hadoop-hdfs-client/src/main/java/org/apache/hadoop/hdfs/util/CombinedHostsFileWriter.java @@ -45,6 +45,7 @@ import org.apache.hadoop.hdfs.protocol.DatanodeAdminProperties; @InterfaceAudience.LimitedPrivate({"HDFS"}) @InterfaceStability.Unstable public final class CombinedHostsFileWriter { + private static final ObjectMapper MAPPER = new ObjectMapper(); private CombinedHostsFileWriter() { } @@ -60,8 +61,7 @@ public final class CombinedHostsFileWriter { try (Writer output = new OutputStreamWriter(new FileOutputStream(hostsFile), "UTF-8")) { for (DatanodeAdminProperties datanodeAdminProperties: allDNs) { - ObjectMapper mapper = new ObjectMapper(); - configs.append(mapper.writeValueAsString(datanodeAdminProperties)); + configs.append(MAPPER.writeValueAsString(datanodeAdminProperties)); } output.write(configs.toString()); } --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
