Explorar o código

merge -r 1346002:1346003 from branch-2. FIXES: MAPREDUCE-4301

git-svn-id: https://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.23@1346004 13f79535-47bb-0310-9956-ffa450edef68
Thomas Graves %!s(int64=13) %!d(string=hai) anos
pai
achega
d2ff2d9cd4

+ 3 - 0
hadoop-mapreduce-project/CHANGES.txt

@@ -39,6 +39,9 @@ Release 0.23.3 - UNRELEASED
 
     MAPREDUCE-4162. Correctly set token service (Daryn Sharp via bobby)
 
+    MAPREDUCE-4301. Dedupe some strings in MRAM for memory savings 
+    (bobby via tgraves)
+
   OPTIMIZATIONS
 
     MAPREDUCE-3850. Avoid redundant calls for tokens in TokenCache (Daryn

+ 2 - 1
hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/split/SplitMetaInfoReader.java

@@ -47,6 +47,7 @@ public class SplitMetaInfoReader {
     long maxMetaInfoSize = conf.getLong(JTConfig.JT_MAX_JOB_SPLIT_METAINFO_SIZE, 
         10000000L);
     Path metaSplitFile = JobSubmissionFiles.getJobSplitMetaFile(jobSubmitDir);
+    String jobSplitFile = JobSubmissionFiles.getJobSplitFile(jobSubmitDir).toString();
     FileStatus fStatus = fs.getFileStatus(metaSplitFile);
     if (maxMetaInfoSize > 0 && fStatus.getLen() > maxMetaInfoSize) {
       throw new IOException("Split metadata size exceeded " +
@@ -70,7 +71,7 @@ public class SplitMetaInfoReader {
       JobSplit.SplitMetaInfo splitMetaInfo = new JobSplit.SplitMetaInfo();
       splitMetaInfo.readFields(in);
       JobSplit.TaskSplitIndex splitIndex = new JobSplit.TaskSplitIndex(
-          JobSubmissionFiles.getJobSplitFile(jobSubmitDir).toString(), 
+          jobSplitFile, 
           splitMetaInfo.getStartOffset());
       allSplitMetaInfo[i] = new JobSplit.TaskSplitMetaInfo(splitIndex, 
           splitMetaInfo.getLocations(),